【问题标题】:Cross Side Scripting (JavaScript)跨端脚本 (JavaScript)
【发布时间】:2015-03-05 21:25:19
【问题描述】:

我正在尝试使用 JavaScript 从另一个 url 获取数据但失败了,我尝试了 jsfiddle 和 Stack-overflow 的所有解决方案,但一个错误并没有消失

http://renault.twobulls.com/?code=waeuhh(目标网址)

我试过$.getJson,$.ajax,甚至都试过jsonp...请帮帮我,当我在jsonp的url中使用回调时出现这个错误

错误:

有人有解决办法吗?

【问题讨论】:

  • 你可以点击这个网址直接查看回复renault.twobulls.com/?code=waeuhhresponse {"code":"waeuhh","photoid":"1417564891877515"}
  • JSON 是正确的。编辑您的答案并发布您的代码。您正在犯语法错误,欢迎使用 SO btw。
  • 我也从 Stackoverflow 和 jsfiddle 复制了代码,请您编写一个简单的代码并从该 url renault.twobulls.com/?code=waeuhh 发出请求,我正在添加我使用的代码
  • $(document).ready(function () { $("body").delegate('#submit', 'click', function () { var url = "renault.twobulls.com/?code=waeuhh"; $.getJSON(url+'&callback=?', function (response) { console.log(response.responseData); }); }); }); @Mouser 代码

标签: javascript json cross-domain


【解决方案1】:

您正在发出 JSONP 请求,但服务器正在响应 JSON。

JSONP 响应需要是一个 JavaScript 程序,该程序使用单个参数(即 JSON 有效负载)调用您在 URL 中指定为回调的函数。

要么更改服务器以使其响应 JSONP,要么更改 JavaScript 以使其发出 XHR 请求(请注意,您需要确保服务器允许使用 CORS 进行跨域 XHR 请求)。

【讨论】:

  • 未经许可,您不能使用访问者的浏览器从第三方网站读取数据。那将是一个安全风险。而是将数据复制到您的服务器。
  • 但我需要从浏览器中获取它有没有办法?因为当我使用 php file_get_contents 时这个数据是可用的
  • 当您使用file_get_contents时,是在发出请求,而不是您的访客。您没有访问者的 cookie、密码、IP 地址或专用网络。服务器可以做任何它想做的认证。浏览器不知道它是否可以信任您处理来自其他站点的数据,因此您无法拥有它。
  • 确定我不会使用 JavaScript 从那个link url 得到响应?
  • 自从我上次说你不能做 3 次以来,有什么改变吗?
【解决方案2】:

只需将它分配给一个变量。

var someVar = {"code":"waeuhh","photoid":"1417564891877515"};

【讨论】:

  • 如何在变量中分配它我无法访问服务器
猜你喜欢
  • 1970-01-01
  • 2012-02-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-22
  • 1970-01-01
  • 2017-10-29
  • 1970-01-01
相关资源
最近更新 更多