这很好用:
$.getJSON("http://localhost:59396/xxxWeb/
CarouselHandler.ashx?action=getproducts&ids=" + ids,
function(data) {
carousel.size(allProductIDs.length);
if (numberOfImagesLeftToShow <
numberOfImagesToDisplay) {
first += (numberOfImagesToDisplay -
numberOfImagesLeftToShow);
}
var d = 0;
for (var i = first; i <= last; i++) {
if (d != undefined) {
// add data using index of the array
returned by JSON (which starts at 0)
carousel.add(i, decode(data[d].ImageTag));
}
// set to last ProductID showing in Carousel
if (i == last) { lastProductID = parseFloat
(data[d].ProductID); }
d++;
}
}
);
这不起作用,我尝试添加后没有渲染图片 &安培;格式= JSON&安培; jsoncallback =? :
$.getJSON("http://localhost:59396/xxxWeb/
CarouselHandler.ashx?action=getproducts&ids=" + ids +
"&format=json&jsoncallback=?",
function(data) {
carousel.size(allProductIDs.length);
if (numberOfImagesLeftToShow <
numberOfImagesToDisplay) {
first += (numberOfImagesToDisplay -
numberOfImagesLeftToShow);
}
var d = 0;
for (var i = first; i <= last; i++) {
if (d != undefined) {
// add data using index of the array
returned by JSON (which starts at 0)
carousel.add(i, decode(data[d].ImageTag));
}
// set to last ProductID showing in Carousel
if (i == last) { lastProductID = parseFloat
(data[d].ProductID); }
d++;
}
}
);
同样在这里,调用我们的开发服务器。
$.getJSON("http://xxxdev/xxx/CarouselHandler.ashx?
action=getproducts&ids=" + ids + "&format=json&jsoncallback=?",
function(data) {
不知道为什么。没有错误,没有。收到的数据与我调用localhost时的第一个示例没有什么不同。所以这是有效的JSON,这不是问题所在。这是因为当我引入查询字符串参数时,我的函数(数据)没有被触发。没有它,它工作正常,并调用函数(数据)。
添加“&amp; jsoncallback =?”或“&amp; callback =?”摆脱了访问 受限制的URI被拒绝“代码:”1012但我没有在我的数据中显示数据 将这些querystring params中的任何一个添加到我的url时插件。所以 我不明白。我认为它应该是自动的 替换?我的情况下有功能(数据)?我需要发送吗? 什么东西回来的回应或什么?我问,因为肯定 像雅虎这样的API需要前面的_。但这也意味着我 还需要在我的json响应中提供一些东西吗?我以为你都是 我们需要做的只是在你的请求中添加回调参数。
答案 0 :(得分:3)
您的服务需要支持jsonp,这意味着响应必须包含在回调键中,以表示客户端执行的javascript函数。
总结一下,如果您的服务器目前以此回应
{ "x": 10, "y": 15}
支持jsonp,需要回复
callbackFunction( { "x": 10, "y": 15} )
其中callbackFunction是查询字符串中指定的名称。
有关详细信息,请参阅我的回答here