0

这些是从 ajax 调用发送到 php 的两个数组

var mycol=new Array(); 
var mycolval=new Array();
var inputs = document.getElementsByTagName("input");
            for (var i = 1; i < inputs.length; i++)
            {
                if($("#"+inputs[i].id).val().length>0)
                    {   
                        flag=true;
                        mycol=inputs[i].id;
                        mycolval=$("#"+inputs[i].id).val();


                    }

            }

这是字符串

var string = $('#search_input').val();

我已经尝试了以下代码,但它似乎不起作用。请帮我想出解决方案。

$.ajax({
    url: "anding.php",
    type: "POST",
    dataType: 'json',
    data: JSON.stringify(mycol:mycol,mycolval:mycolval,string:string),
    success: function(response){}

   });
4

1 回答 1

1

你的代码语法错误

    data: JSON.stringify(mycol:mycol,mycolval:mycolval,string:string),

应该

    data: JSON.stringify({mycol:mycol,mycolval:mycolval,string:string}),

您可能还想指定内容类型,因为您要发送 JSON

contentType: 'application/json',

然后你可以访问你的数据

$postdata = json_decode(file_get_contents("php://input"), true);
$mycol = $postdata['mycol'];

尽管我怀疑您实际上想要发送 json 而是发送 url 编码的键值对,因此您可以通过$_POST['mycol']etc 访问它们,如果是这样的话,请使用

        data: {mycol:mycol,mycolval:mycolval,string:string},

反而。

$("#"+inputs[i].id).val()

可以简化为

inputs[i].value
于 2013-08-10T19:14:58.037 回答