0

所以我有一个简单的任务,从不属于我们的服务器获取 xml 提要。很容易,但是我遇到了允许来源控制问题,而 &callback= 标签并没有解决问题。

$.get("http://www.buytopia.ca/feed",data,jloop(),"xml");

function jloop(){
        var count=0;
        //dummy code
        document.write("please work");
        do{
            document.write(count);
            count++;
        }
        while (count<10);

    };

所以当我运行它时,get 调用处于挂起状态,而不是正在接收。我尝试了不同的提要,例如 NASA,但添加 &callback= 并不能消除访问来源问题。我只需要一段工作代码来获取提要,最好是那个buytopia.ca提要,因为我们可以访问它并知道它的许可信息。然后我可以开始解析它。任何帮助都会很棒!谢谢!

4

2 回答 2

0

您可以对本地 php 文件(假设您将其称为 currency.php)进行 ajax 调用,并通过 php 获取它,例如(php 来自 ECB 的网站,供开发人员使用 - ajax 是我的)

  $XML=simplexml_load_file("http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml");

  //the file is updated daily between 2.15 p.m. and 3.00 p.m. CET 

    foreach($XML->Cube->Cube->Cube as $rate){
        //Output the value of 1EUR for a currency code
        echo '1&euro;='.$rate["rate"].' '.$rate["currency"].'<br/>';

        if ($rate["currency"]=='USD') {
            echo 'EUR-> USD RATE: '.$rate["rate"], '<br/>';
        }
        //--------------------------------------------------
        //Here you can add your code for inserting
        //$rate["rate"] and $rate["currency"] into your database
        //--------------------------------------------------
    }

那么ajax调用将是这样的:

<script>
 $.ajax({
        url: 'currency.php',
        type: 'POST',
        data: {myCurrency: curr,
               myPriceAmt: amount },  
        success: function(data){
            // do any manipulations here

        }
 });
 </script> 

祝你好运!

于 2015-02-18T07:45:52.770 回答
0

是buytopia 你的域名。您不能跨域进行 ajax 调用。它称为跨站点脚本。

https://en.wikipedia.org/wiki/Cross-site_scripting

于 2013-07-11T16:46:12.267 回答