0

嗨,我是使用 ajax 和 json 的新手,所以在将它用于我的项目之前,我已经制作了下面的示例代码来试用它,但是当我尝试将信息发送到我的 PHP 文件时遇到了一些问题。据我所知,我已经对输入进行了格式化,因此它是 JSON 格式,并且 Ajax 命令可以正常工作。但是当我运行代码时,我正在查看我使用 FireBug 发布的内容,它说我发送到 PHP 的输入值是未定义的。我不确定为什么会发生这种情况,因为我让它使用单个输入。我还尝试在我的 HTML 代码中使用 json.stringify,然后在 PHP 文件中对其进行 json_decoding 作为解决方法,但我无法让它适用于单个输入案例。任何帮助将不胜感激。

HTML:

 var sendInput = [
                {"fruit":"apple", "amount":"5"},
                {"fruit":"pear", "amount":"15"}];
   var sent = $.ajax({
        type: "POST",
        data: sendInput,
        dataType: "JSON",
        url: "AjaxTest.php",
        success: function(data) {
            window.alert(data);
                window.alert("Works");
        },
        error: function() {
            window.alert("Failed");
        }
    });

PHP:现在没什么特别的,它只是在 $_POST 中回显任何值。

4

1 回答 1

0

$.ajax 期望数据属性是字符串或普通对象。但是您已经定义了一个数组。如果这是您要发送的内容,请尝试以下操作:

var sendInput = {"myinput":[
            {"fruit":"apple", "amount":"5"},
            {"fruit":"pear", "amount":"15"}]}; 
于 2013-04-15T00:37:11.033 回答