1

我有一个使用 jQuery 的 AJAX GET 调用的问题。

这是我的代码:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
<script>
$(document).ready(function() {    

    $.ajax({
        url : "http://localhost:8080/aplus-framework-webapp/reportServlet?",
        data: "STAT_START_DATE=20131001&STAT_END_DATE=20131031&CAMPAIGN_START_DATE=2013-10-31&CAMPAIGN_END_DATE=2013-10-01&ORDER=Stato",
        dataType: "json",
        type: "GET",
        processdata: true, 
        success : function (data) {
            alert("IN");
        },
        error : function (richiesta,stato,errori) {
            alert("NOT SUCCESS");    
        }
    });// end ajax call
}); // end ready
</script>

servlet reportServlet 是我在 localhost 中运行的 Java servlet,它返回 JSON:

{"url":"http://d1p0y6pjyasam8.cloudfront.net/PGBANNER/text/20131105100823campaigns.csv"}

我在本地测试页面,但我总是看到警报报告“不成功”。

我是 JS 的新手,有人知道我的错误是什么吗?

谢谢

阿莱西奥

4

4 回答 4

1

确定您的 servlet 返回标头 json 吗?

于 2013-11-05T09:23:31.127 回答
1

如果您请求的网站和您请求的 servlet 没有相同的端口(例如 80 和 8080),它将破坏Same Origin Policy

请参阅此 stackoverflow 问题以获取更多信息和答案。

于 2013-11-05T09:38:50.603 回答
0

尝试删除网址末尾的问号

于 2013-11-05T09:18:21.493 回答
-1

我假设您的意思是“本地页面”是您在硬盘驱动器上的本地文件中尝试此操作。由于安全原因,主要在所有浏览器中都禁用了此功能。您可以在此处找到更多信息,如何在 Google Chrome 中禁用此功能以用于开发目的:

http://opensourcehacker.com/2010/11/29/disabling-cross-domain-security-check-for-ajax-development-in-google-chrome/

于 2013-11-05T09:19:43.490 回答