0

我想向其他域发送请求,例如 http://ccv.viatelecom.com/services/?item=viacall&aid=XXXX&gid=XXXX&sid=XXXX&&num=XXXXXX

我使用了 Ajax 请求,如下所示:

$.ajax({
                type: "GET",
                url:'http://ccv.viatelecom.com/services/?item=viacall&aid=XXXX&gid=XXXX&sid=XXXX&&num=XXXXXX',
                success:function(data){
                alert(data);

                },
                error:function(XMLHttpRequest, textStatus, errorThrown){
alert("XMLHttpRequest="+XMLHttpRequest.responseText+"\ntextStatus="+textStatus+"\nerrorThrown="+errorThrown);
                    }

            });

但它不会进入成功功能,并且警报错误是:

XMLHttpRequest=
textStatus=error
errorThrown=

如果我写相同的 url 地址栏,它会显示不在 Ajax 请求中的消息。

这是发送请求的正确方式还是有其他方式或我缺少的东西?

4

1 回答 1

0

您不能执行跨域 ajax 调用。

解决这个问题

方法一

JavaScript

创建一个函数

function getMyData(data) {
    alert(data);
    //Do the magic with your data
}

服务器端

在服务器端将数据包装在函数语法中

getMyData("Enter your data here");

JavaScript

然后创建一个脚本标签并添加一个链接到你的跨域页面

 <script type="text/javascript"
         src="cross ref url">
 </script>

供参考:维基百科

方法二

另一种选择是在您的域上创建代理。即在您的域中创建一个页面,该页面在内部调用跨域页面并将相同的数据返回给您的Ajax 调用。

于 2013-01-25T16:41:34.720 回答