JSON从aspx读取

时间:2013-01-16 14:44:19

标签: jquery asp.net json

我创建了一个充当JSON结果的aspx文件。

Response.Clear()
Response.ContentType = "application/json; charset=utf-8"

我有另一个页面(另一个域)读取该JSON。但是在调用JSON值时我得到了syntax error: invalid label

$.getJSON( "http://a.com/json.aspx?format=json&jsoncallback=?" , function(data) {

       alert(data);
    });
  }

1 个答案:

答案 0 :(得分:1)

您需要服务器输出JSONP,不是 JSON。 JSONP与众不同。当服务器位于与客户端不同的域上时使用JSONP。

JSONP实际上只是一个JavaScript文件,因此它应该与Content-type: text/javascript一起提供。在提供JSONP时,您应该将JSON包装为jsoncallback

的值

因此,您的Web服务器应该输出类似于:

的内容
jQuery12345({"name":"joe","age":22})

其中jQuery12345是查询字符串中jsoncallback参数的值,它将由jQuery自动设置。

$.getJSON( "http://a.com/json.aspx?format=json&jsoncallback=?" , function(data) {
    alert(data);
});

jQuery将自动用值替换?

有关JSONP的更多信息:http://en.wikipedia.org/wiki/JSONP