javascript - Tambah berbilang keping data yang disusun ke dalam objek dan hantar ke php. Bagaimanakah php menerima parameter dan menghuraikannya ke dalam data biasa dan memasukkannya ke dalam jadual?
阿神
阿神 2017-05-16 12:59:35
0
7
541

Saya membuat jadual untuk menambah, memadam, mengubah suai dan membuat pertanyaan Terdapat banyak data baharu yang saya gunakan sekarang. Hantarkannya ke php dalam bentuk parameter yang dilampirkan, dan kemudian php menggunakan $_GET[''] untuk menerima parameter yang diluluskan. Ini adalah cara untuk menambah data baru Apa yang saya ingin tanyakan ialah, jika terdapat banyak data baharu, bagaimanakah PHP menerima parameter yang diluluskan oleh parsing?
Ini kod saya?
php:

//新增方法
    function add_row(){
        /*获取从客户端传过来的数据*/
        $userName = $_GET['user_name'];
        $userAge = $_GET['user_age'];
        $userSex = $_GET['user_sex'];
        
        $sql = "INSERT INTO t_users (user_name,user_age,user_sex) VALUES ('$userName','$userAge','$userSex')";
        if(query_sql($sql)){
            echo "ok!";
        }else{
            echo "新增成功!";
        }
    }

    function query_sql(){
        $mysqli = new mysqli("127.0.0.1", "root", "root", "crud");
        $sqls = func_get_args();
        foreach($sqls as $s){
            $query = $mysqli->query($s);
        }
        $mysqli->close();
        return $query;
    }

js:

$(function() {
                
    $('#save').click(function(){
        addData();
    });
});
function addData(){
    var userName = $('#userName').val();
    var userAge = $("#userAge").val();
    var userSex = $('#user-sex').val() == '0' ? '男' : '女';
                
    var addUrl = "./php/data.php?action=add_row&user_name=" + userName + "&user_age=" + userAge + "&user_sex=" + userSex;
                
                $.ajax({
                    type:"post",
                    url:addUrl,
                    dataType:'json',
                    contentType:'application/json;charset=utf-8',
                    success:function(data){
                        console.log("success");
                    },
                    error:function(data){
                        console.log("data");
                        //添加成功后隐蒧modal框并重新加载页面
                        setTimeout(function(){
                            $('#exampleModal').modal('hide');
                        },500);
                        setTimeout(function(){
                            //新增成功后,重新加载数据
                            searchData();
                        },700);
                    }
                });
            }

Anda mungkin tidak memahami perkara yang ditulis di atas. Apa yang saya ingin nyatakan ialah jika kod PHP kekal tidak berubah, semua yang berubah adalah organisasi data baharu dalam kaedah JS ini yang perlu dikemas kini, Dengan cara ini, saya menyusun berbilang keping data ini ke dalam objek dan menghuraikan objek ke dalam rentetan dan menyerahkannya kepada php. Jadi bagaimana php ini menghuraikan data?

function addData(){
                var userName = $('#userName').val();
                var userAge = $("#userAge").val();
                var userSex = $('#user-sex').val() == '0' ? '男' : '女';
                
                /*var addUrl = "./php/data.php?action=add_row&user_name=" + userName + "&user_age=" + userAge + "&user_sex=" + userSex;*/
                var addUrl = "./php/data.php?action=add_row";
                var addData = {
                    'user_name':userName,
                    'user_age':userAge,
                    'user_sex':userSex
                };
                
                var jsonData = JSON.stringify(addData);
                
                $.ajax({
                    type:"post",
                    url:addUrl,
                    data:jsonData,//传给php
                    dataType:'json',
                    contentType:'application/json;charset=utf-8',
                    success:function(data){
                        console.log("success");
                    },
                    error:function(data){
                        console.log("data");
                        //添加成功后隐蒧modal框并重新加载页面
                        setTimeout(function(){
                            $('#exampleModal').modal('hide');
                        },500);
                        setTimeout(function(){
                            searchData();
                        },700);
                    }
                });
            }

Sila berikan saya beberapa jawapan, terima kasih banyak!

阿神
阿神

闭关修行中......

membalas semua(7)
黄舟

Untuk operasi baharu, gunakan kaedah POST Ajax menghantar data json(a:'',b:'',c:''}) dan selepas php menerimanya, jsondecode($_POST['data'] )

phpcn_u1582

Letakkan semua parameter dalam nombor json dan hantar ke latar belakang: {'username': xxx, 'age': xxx}, mengikut komen dan logik kod anda, kod tersebut harus ditulis dengan berjaya dan bukannya ralat

Ty80

Saya tidak faham apa yang anda katakan Ajax mengembalikannya terus selepas menerimanya, dan lalai anda ialah dataType:'json', yang bermaksud bahawa selagi data yang dikembalikan dalam php tidak dalam format json, ralat akan berlaku. dilaporkan. Lihat di atas //echo "Tambah berjaya!"; Ini secara langsung akan menyebabkan anda melaporkan ralat ajax.

 if(query_sql($sql)){
            //echo "ok!";
            $r['code']=0;
            $r['msg']='ok!';
        }else{
            //echo "新增成功!";
            $r['code']=1;
            $r['msg']='新增成功!';
        }
        exit(json_encode($r));
PHPzhong

Syarat untuk berjaya ialah (xmlHttp.readyState == 4) && (xmlHttp.status == 200)
Lihat sama ada kod status yang dikembalikan oleh alamat yang anda minta ialah 200?

Jika terdapat banyak parameter, anda boleh terus menetapkan $_GET kepada pembolehubah, kerana $_GET ialah tatasusunan.

我想大声告诉你

Terima tatasusunan $_GET dan kemudian lintasi

为情所困

Gunakan POST

漂亮男人

1. Kaedah penyerahan ajax ialah teyp: "post", tetapi parameter yang diterima oleh php ialah $_GET
2 Format data yang diterima oleh ajax ialah dataType: 'json', tetapi hasil yang dikembalikan oleh php ialah teks.
3.ajax request format kandungan contentType:'application/json;charset=utf-8', data yang diminta mestilah rentetan json Jika anda menggunakan php untuk menerimanya di latar belakang, anda boleh menggunakan $data = file_get_contents(" php://input "); json_decode($data, true), iaitu parameter permintaan. (Empat Jenis Kandungan Biasa dalam HttpRequest (pemindahan))
4.sql perlu dilindungi daripada suntikan

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan