Jquery发送Json数据不起作用

时间:2014-03-14 18:28:36

标签: javascript jquery ajax json

我想用ajax发送一些JSON数据这是我的脚本

$(document).ready(function () {
    jsonObj = [];
    $('.img-bg').map(function () {
        var self = this;
        var next = $(this).nextAll('.rectangle');

        if (next.length > 0) {
            next.map(function () {
                item = {};
                item.src = self.src;
                item.left = $(this).css('left');
                item.height = $(this).css('height');

                jsonObj.push(item);
            });
        }


});
var data={ "firstName" : "Ray" };
jsonString = JSON.stringify(jsonObj);


        $.ajax({
            url: 'testajax.php',
            type: 'post',
            dataType: 'json',
            data: jsonString,
            success: function(response) {
              console.log(response);

            }

        });

    });


</script>

jsonObj给出了

[Object, Object, Object]
0: Object
height: "341px"
left: "10px"
src: "http://localhost/docAuto/test.jpg"
__proto__: Object
1: Object
height: "321px"
left: "54px"
src: "http://localhost/docAuto/image.jpg"

jsonString的输出

[{"src":"http://localhost/docAuto/test.jpg","left":"10px","height":"341px"},
{"src":"http://localhost/docAuto/image.jpg","left":"54px","height":"321px"},
{"src":"http://localhost/docAuto/image.jpg","left":"43px","height":"295px"}] 

两个var都没有发送,但是如果我发送data它正在工作。我的Json文件错了?

4 个答案:

答案 0 :(得分:1)

您需要将选项作为对象传递给data。这是一个固定的$.ajax电话:

    $.ajax({
        url: 'testajax.php',
        type: 'post',
        dataType: 'json',
        data: { json : jsonString },
        success: function(response) {
          console.log(response);
        }
    });

您的testajax.php现在应该在网址变量json中看到jsonString。

编辑:修复我的回复。由于缩进问题,我误读了你的代码。

答案 1 :(得分:0)

您不需要使用JSON.stringify通过jQuery $.ajax()方法发送json对象... jQuery将负责幕后的转换。只需使用jsonObj作为数据参数。

答案 2 :(得分:0)

您需要以大写字母使用POST

答案 3 :(得分:0)

我认为你的JSON缺少关键部分。当我添加密钥时:'first',它有效。你有一个强大的Json阵列:

JSON.stringify({ first: [{"src":"http://localhost/docAuto/test.jpg","left":"10px","height":"341px"},
 {"src":"http://localhost/docAuto/image.jpg","left":"54px","height":"321px"},
 {"src":"http://localhost/docAuto/image.jpg","left":"43px","height":"295px"}] })

JSFiddle link http://jsfiddle.net/jyrkim/suvG7/1/

Json Arrays, syntax etc link