jQuery getJSON - URL 错误,请帮助

发布于 2024-12-01 20:21:35 字数 1034 浏览 1 评论 0原文

我是 jQuery 的初学者,我尝试使用 getJSON,但是当我将它与 URL 一起使用时,我总是遇到错误,而当我将它与文本文件一起使用时,它却有效。 您能告诉我网址有什么问题吗?

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$.getJSON("http://localhost/edoc?appname=eDRITS&prgname=JSON2",function(item){
     alert("success");
    $.each(item.users, function(i,user){
        content = '<p>' + user.name + ', ' + user.fname + '</p>';
        $(content).appendTo("#list");
    });
})
.success(function() { alert("second success"); })
.error(function() { alert("error"); });
});
</script>

代码中的 URL 是对返回 JSON 数据的程序的调用:

{"users":[ {"usrid":"GABR90","name":"ABRAMOVA ","fname":"Galina"}] }

如果我用包含 JSON 数据的文本文件替换 URL,它就可以工作:

$.getJSON("file.txt",function(item){...}

我通过 URL 得到的错误只是我的“.error() 函数”的显示,我没有任何具体的错误消息,而且我不知道如何使用调试器来查看浏览器的 HTTP Get(其中是火狐)。

那么我该如何将它与 URL 一起使用呢?

感谢您的帮助

I'm a beginner in jQuery, and I tried to use the getJSON, but I always have an error when using it with an URL, whereas it worked when I used it with a text file.
Can you please tell me what is wrong with the URL ?

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$.getJSON("http://localhost/edoc?appname=eDRITS&prgname=JSON2",function(item){
     alert("success");
    $.each(item.users, function(i,user){
        content = '<p>' + user.name + ', ' + user.fname + '</p>';
        $(content).appendTo("#list");
    });
})
.success(function() { alert("second success"); })
.error(function() { alert("error"); });
});
</script>

The URL in the code is the call to a program which returns JSON data :

{"users":[ {"usrid":"GABR90","name":"ABRAMOVA ","fname":"Galina "}] }

If I replace the URL by a text file which contains the JSON data, it works :

$.getJSON("file.txt",function(item){...}

The error I get with the URL is just the display of my ".error() function", I dont have any specific error message, and I don't know how to use debugger to see the HTTP Get of the browser (which is Firefox).

So how can I use it with the URL, please ?

Thanks for your help

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

笑忘罢 2024-12-08 20:21:35

您是否使用 file:/// 访问 HTML 页面,然后让该页面调用 http://localhost ?如果是这种情况,那么您就遇到了“同源”限制。

您的浏览器将该页面视为来自 file:// url,并且当该页面尝试连接到 http://localhost 时,从技术上讲,这是另一个域,出于安全原因,浏览器可能(并且通常会)阻止该通信。当您指向文本文件时,它会看到来自 file:// 的 html 和文件,并允许通信。

您应该在 Web 服务器中加载 HTML 页面,以便可以使用 http://localhost/mypage.html 访问该页面 或类似的网址。

Are you accessing the HTML page using file:/// and then have that page call http://localhost ? If that is the case, then you are hitting the "same origin" limitation.

Your browser see the page as coming from a file:// url, and when that page tries to connect to http://localhost, that is technically another domain, and for security reasons the browser may (and usually will) block that communication. When you instead point to a text file, it see both the html and the file coming from file:// and will allow the communication.

You should load the HTML page in your web server, so that you can access the page using a http://localhost/mypage.html or similar url.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文