【问题标题】:getJSON callback QueryString Param IssuegetJSON 回调 QueryString 参数问题
【发布时间】:2009-07-06 23:26:58
【问题描述】:

这很好用:

            $.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++;
                    }
                }
            );

这不起作用,我尝试添加后没有渲染图片 &format=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,这不是这里的问题。当我插入查询字符串参数时,我的函数(数据)没有被触发。没有它,它可以正常工作并调用函数(数据)。

添加一个“&jsoncallback=?”或“&回调=?”摆脱了访问权限 受限 URI 被拒绝”代码:“1012 但我的数据中没有显示任何数据 将这些查询字符串参数中的任何一个添加到我的 url 时的插件。所以 我不明白。我以为它应该自动 代替 ?在我的情况下使用功能(数据)?我需要寄吗 回复中的东西还是什么?我问是因为确定 yahoo 等 API 需要在前面加上 _。但这是否意味着我 还需要在我的 json 响应中提供一些东西吗?我以为你 需要做的只是在您的请求中添加回调参数。

【问题讨论】:

    标签: jquery


    【解决方案1】:

    您的服务需要支持 jsonp,这意味着必须将响应包装在回调键中以表示客户端执行的 javascript 函数。

    作为总结,如果您的服务器目前对此做出响应

     { "x": 10, "y": 15} 
    

    为了支持jsonp,它需要响应

    callbackFunction( { "x": 10, "y": 15} )
    

    其中 callbackFunction 是查询字符串中指定的名称。

    查看我的回答 here 了解更多信息

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-26
      • 2023-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多