如何使用JSON在AJAX中发送数组

How to send array in AJAX using JSON

本文关键字:数组 AJAX 何使用 JSON      更新时间:2023-09-26

我对JS和AJAX还很陌生,由于某些原因,我无法通过AJAX发送动态生成和读取的数据。如何通过AJAX将数组正确发送到PHP脚本?

我试着按照说明操作,但我无法使用AJAX发送数据。第一次尝试完全失败,第二次出现错误:

未捕获类型错误:非法调用

但它似乎源于JS库,而不是我的代码(尽管代码很可能是它的原因!),我不知道该怎么处理它。

    //first thing I tried
    var i = 1, j = 0, cu = [], cu2 = [];
     while (i <= tilit ) {
        cu[j] = document.getElementById("til_nro_"+i);
        console.log(cu[j].value);
        i++;
    }
    var dynamic_account_value = JSON.stringify(cu);

 jQuery.ajax({
        type: "POST",
         url: 'http:mysite.php',
        dataType: 'json', 
        data: { dynamic_account_count:tilit, db:cu , id:id, result:dynamic_account_value
            }
        });

    //2nd thing I tried
    var i = 1, j = 0, cu = [], cu2 = [];
     while (i <= tilit ) {
        cu[j] = document.getElementById("til_nro_"+i);
        cu2.push(JSON.parse(cu[j].value));
        i++;
    }
    var tilinrot_lisa = JSON.stringify(cu2);

     jQuery.ajax({
        type: "POST",
         url: 'http:mysite.php',
        dataType: 'json', 
        data: { dynamic_account_count:tilit, db:cu , id:id, result:tilinrot_lisa
            }
        });

首先,给它们一些可以让选择更容易的东西,比如一个公共类。第二,使用jquery序列化

$.ajax({
  url : "foo",
  data : $(".bar").serialize(),
  success : function(response) {}
})

尝试这个代码片段,尝试只发送一个变量,然后转到另一个&使用内容类型。u可以使用//console.log(JSON.stringfy(cu));查看里面的东西。

jQuery.ajax({
   type: 'post',
   dataType: 'json',
   data: {your_var:JSON.stringify(cu)},
   contentType: "application/json"
});