来自url的jquery .get xml文件

时间:2013-07-11 16:43:36

标签: jquery xml ajax

所以我有一个简单的任务,从不属于我们的服务器获取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调用正在等待,而不是在撤销。香港专业教育学院尝试过不同的饲料,如美国国家航空航天局,但添加&amp; callback =不会删除访问来源问题。我只需要一个工作的代码块来获取feed,最好到该buytopia.ca feed,因为我们可以访问它并知道它的权限信息。然后我可以开始解析它。任何帮助都会很棒!谢谢!

2 个答案:

答案 0 :(得分:0)

buytopia是您的域名吗?您无法跨域进行ajax调用。它被称为跨站点脚本。

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

答案 1 :(得分:0)

你可以对本地php文件进行ajax调用(假设你称之为currency.php),并通过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> 
祝你好运!