getJSON没有返回任何内容

时间:2010-09-01 12:14:34

标签: javascript jquery json

下面的JSON函数没有返回任何内容......

$.getJSON(formUrl, function(data) {
                alert(data)
              $('.response').html('<p>' + data.title + '</p>'
                + '<p>' + data.description + '</p>');
            });

formUrl是正确的,并以

的形式返回数据
{"title":"Smashing Magazine","description":"Smashing Magazine is focused on design and web-development. We deliver useful information, latest trends and techniques, useful ideas, innovative approaches and tools."}

有人可以指出我做错了什么吗?我正在提醒数据及其空白......

谢谢!

4 个答案:

答案 0 :(得分:3)

您是否使用跨域URL(即从localhost到其他地方)调用$.getJSON?除非您使用JSONP dataType,否则这将无效。

答案 1 :(得分:0)

由于它不属于same origin,因此您需要将Access-Control标头添加到JSON响应中。

header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET');

答案 2 :(得分:0)

不要将字符串分成两行,否则会导致错误,可能是Javascript未运行的原因。

尝试这样的事情:(注意我没有在两行中破坏html()内的内容)

$.getJSON(formUrl, function(data) {
                alert(data);
              $('.response').html('<p>' + data.title + '</p>' + '<p>' + data.description + '</p>');
            });

答案 3 :(得分:0)

尝试将您的服务器配置为使用contentType fetch.php

投放网页application/json

同样仅针对测试,您可以尝试将JSON放入.../fetch.js文件并使用$.getJSON进行调用。 它应该可以工作,因为大多数服务器上的.js文件默认为application/javascript