getJSON只响应明文,否则不起作用
getJSON only responds to plaintext and will not work otherwise?
我使用$getJSON从链接(例如/login?user=foo&pass=bar)中拉下JSON字符串。当我把这个链接直接插入浏览器时,我得到一个"文件下载"提示("这是一个:application/json")。getJSON不能在这个链接上工作。
然而!当我在记事本中的"文件下载"提示中打开文件并将该文本作为纯文本(.txt文件)托管到我的服务器上并在该链接(即/jsondata.txt)上调用getJSON时,它可以完美地工作。
请记住,我没有能力在后端更改任何内容。
你知道这是怎么回事吗?基本上,当我将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
支持json响应,则可以通过将&callback=?
添加到查询中来解决问题。如果不是,您可以在服务器上放置一个脚本来路由该响应,这样它就会显示为来自您自己的域。除此之外,如果您可以从EXTERNALHOSTNAME
(我怀疑)提供页面,您可以从执行此ajax调用的域提供iframe(以便它不违反同源规则),然后将该数据走私到父框架。
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- 监视函数从服务返回不起作用,但作用域函数起作用
- 幻灯片滚动javascript不起作用
- 简单的javascript在Shopify中不起作用
- Recaptcha在IE7和IE8中不起作用
- Ember Data DS.Model's set函数不起作用
- JsFiddle上的鼠标事件不起作用
- 我的AngularJS表达式没有'不起作用
- 点击按钮输入不起作用
- 面向对象的Javascript代码在IE7中不起作用
- 分部隐藏在jquery中不起作用
- 在phonegap应用程序内部重定向不起作用
- Array.length似乎不起作用;console.log则显示其他情况
- $ionicplatform内的$scope不;不起作用
- 我的javascript for循环不起作用
- Meteor-添加用户自定义字段的方法不起作用
- 为什么 .focus() 不起作用,而 .css(“color”,“red”) 在同一个选择器上起作用
- Textarea必需的attribut在javascript中不起作用
- 为什么javascript:void(0)在Firefox中不起作用
- getJSON只响应明文,否则不起作用