0

我正在向服务器发出 ajax 请求:

        $.ajax({

        url: 'http://localhost:8081/Service/service1?Type=Description',
        crossDomain: true,
        dataType: 'jsonp',
        cache: true,
        success: function() {
            alert("Success");
        },
        error: function() {
            alert("Error!");
        }

    });

发送此请求后,我有一个附加参数(回调):

GET service1?Type=Description&callback=jQuery17203365498781397116_1376058778118&_=1376058780059

结果服务器无法处理此请求:

404 Not Found

这是服务器实现的问题(没有以正确的方式处理回调)还是我在创建请求时做错了什么?

4

1 回答 1

0

该请求似乎很好(这也是我执行很多 ajax 请求的方式)。

回调参数是因为您使用了 datatype='jsonp'。

使用 jsonp,服务器应该返回类似

jQueryxxxxxxxxxxx("server response");

其中 jQueryxxxxxx 是“回调”的值。jQuery 不会直接发出 ajax 请求,而是以不同的方式加载页面(我现在想不通)并调用该函数以获取内容。这是一种解决跨域问题的方法。

您是否自己编写了服务器端实现?也许您没有设置它来处理 jsonp 请求?

于 2013-08-09T15:13:53.563 回答