首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >跨域jquery

跨域jquery
EN

Stack Overflow用户
提问于 2015-08-04 18:28:01
回答 1查看 53关注 0票数 0

我用jQuery从另一个url中获取json数据,我尝试了大量的东西。我在php中有工作代码,但不知道如何在jquery中实现它。

PHP:

代码语言:javascript
复制
$skin = rawurlencode($market_hash_name);
$skin2 = str_replace('%0A', '', $skin);
$link = "http://steamcommunity.com/market/priceoverview/?country=EU&currency=3&appid=730&market_hash_name=".$skin2;
$json2 = file_get_contents($link);
$obj2 = json_decode($json2);
$mediumPrice = $obj2->median_price;

我尝试过的jQuery示例:

代码语言:javascript
复制
$(document).ready(function () {
$.ajax({
    type: 'GET',
    url: 'http://steamcommunity.com/market/priceoverview/?country=EU&currency=3&appid=730&market_hash_name=AWP%20%7C%20Worm%20God%20(Factory%20New)',
    dataType: 'jsonp',
    success: function (data) {
        alert(data.median_price);
    }
});
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-04 18:45:48

通常情况下,创建代理是一种简单的方法,这只是一个花哨的词,用来表示在端点之间发送和接收数据。

这可以很简单,就像对服务器上的PHP文件使用ajax一样,从使用CURL的PHP文件到端点,通过回显CURL脚本返回输出。

这样,您就可以绕过对JavaScript的限制。你提到

我在php中有工作代码

因此,将ajax调用通过该代码并返回应该比较简单。

好的,所以不要这么做

代码语言:javascript
复制
$.ajax({
    type: 'GET',
    url: 'http://steamcommunity.com/market/priceoverview/?country=EU&currency=3&appid=730&market_hash_name=AWP%20%7C%20Worm%20God%20(Factory%20New)',
    dataType: 'jsonp',
    success: function (data) {
        alert(data.median_price);
    }
});

做这个

代码语言:javascript
复制
$.ajax({
    type: 'GET',
    url: 'http://yoursever.com/proxy.php/?country=EU&currency=3&appid=730&market_hash_name=AWP%20%7C%20Worm%20God%20(Factory%20New)',
    dataType: 'json',
    success: function (data) {
        alert(data.median_price);
    }
});

然后,在proxy.php或您选择的名称中,使用工作的php代码进行调用,然后按照一般的AJAX通过JSON将数据返回给客户端。然后在技术上使用PHP调用远程服务器,并且没有跨域问题。但是,因为您使用服务器作为代理,所以仍然可以实时完成。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31816626

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档