Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript getJSON只响应纯文本,否则将无法工作?_Javascript_Jquery_Ajax_Json - Fatal编程技术网

Javascript getJSON只响应纯文本,否则将无法工作?

Javascript getJSON只响应纯文本,否则将无法工作?,javascript,jquery,ajax,json,Javascript,Jquery,Ajax,Json,我使用$getJSON从链接中下拉JSON字符串(例如/login?user=foo&pass=bar)。当我将此链接直接插入浏览器时,会得到一个“文件下载”提示(“这是一个:application/json”)。getJSON在该链接上不起作用 然而!当我在记事本的“file download”提示符下打开文件,将该文本作为纯文本(.txt文件)保存到服务器上,并在该链接上调用getJSON(即/jsondata.txt)时,它工作得非常好 请记住,我没有能力更改后端的任何内容 知道这是怎么回

我使用$getJSON从链接中下拉JSON字符串(例如/login?user=foo&pass=bar)。当我将此链接直接插入浏览器时,会得到一个“文件下载”提示(“这是一个:application/json”)。getJSON在该链接上不起作用

然而!当我在记事本的“file download”提示符下打开文件,将该文本作为纯文本(.txt文件)保存到服务器上,并在该链接上调用getJSON(即/jsondata.txt)时,它工作得非常好

请记住,我没有能力更改后端的任何内容

知道这是怎么回事吗?基本上,当我将JSON文件作为纯文本宿主时,我可以将其下拉,但默认情况下不会返回

编辑 这是我的代码…非常简单:

  $.getJSON("http://EXTERNALHOSTNAME.com/WEBSERVICE.svc/login?username="+document.frmLogin.email.value+"&password="+document.frmLogin.password.value+"", function(data) {

alert("it worked!");
});
如果我将该行替换为指向dropbox.txt文件的链接,它将起作用:

//$.getJSON("http://dl.dropbox.com/u/NUMBERS/login.txt", function(data) {

您不能从javascript调用其他域(原始域除外)。如果
EXTERNALHOSTNAME
支持jsonp响应,则可以通过将
回调=?
加载到查询中来解决问题。如果没有,您可以在服务器上放置一个脚本,该脚本将路由该响应,使其看起来像是来自您自己的域。除此之外,如果您可以提供来自
EXTERNALHOSTNAME
(我对此表示怀疑)的页面,那么您可以提供来自该域的执行此ajax调用的iframe(这样它就不会违反相同的源代码规则),然后将该数据走私到父帧。

您可以发布您的getJSON代码吗?我想这已经得到了回答,您的意思是什么“不工作”?您能提供确切的错误吗?该链接是在同一个域上还是在另一个域上(因为我怀疑问题可能在其他地方)?此外,如果您下载了一个文件,则链接可能带有“content disposition”标题。我不知道$.getJson在这种情况下的行为。请参阅上面的编辑,我不确定抛出了什么错误(我如何找到?)。我只知道,如果我用包含数据的.txt文件替换链接,它就可以正常工作。真正的链接本身没有文件扩展名,但(从记事本或写字板的下载提示打开时)会显示相同的数据。PPvG,我也尝试过(在网上的其他地方看到过)。当我放入适当的URL并放入“{}在'data:'元素旁边,它被抛出到AJAX错误回调中。我在警报窗口中打印xhr.responseText,它是空的。