2

第一次使用json。我目前将邮政编码发送到 php 页面,并尝试将结果存储为 json:

    $("#make_ajax_call").click(function()
    {
        var form_postcode = $("#postcode").val();
        $.ajax({
            type: "POST",
            url: 'mapping-ajax.php',
            data: { postcode: form_postcode},
            success: function(data)
            {
                var jsonObject = data;
                var trimmedpostcode = jsonObject.trimmedpostcode;
                alert(jsonObject);
                alert(jsonObject.trimmedpostcode);
                $('#result').html(data);
                //alert('Load was performed.');
            }
        });
    });

在另一端,我使用 php 函数echo json_encode($return_array);

这两个警报给了我:

{"trimmedpostcode":"CO125WL","success":true,"outputstring":"CO125WL<br\/>"}

Undefined

为什么第二个不返回“CO125WL”?我是否需要以某种方式告诉 javascript 它是一个 json 对象?

4

3 回答 3

3

你有没有尝试过:

dataType: 'json'

这就是我使用 ajax 调用在 Javascript 中提取我的 json 信息的方式。

于 2012-05-17T16:15:09.793 回答
1

你说对了。您需要致电:

var obj = JSON.parse(jsonstr);

这会将 JSON 解析为 JavaScript 对象。

于 2012-05-17T16:12:18.923 回答
0

我是否需要以某种方式告诉 javascript 它是一个 json 对象?

是的,您需要告诉它这是一个json string。将您的响应的 mimetype 设置为适当的“ application/json”,jQuery 的智能会自动解析文本并success使用对象而不是字符串调用您的函数。

或者您可以将dataType您的 jQuery 调用设置为"json",请参阅jQuery.ajax()文档

于 2012-05-17T16:14:58.263 回答