我正在使用jQuery的$ .ajax向我无法控制的其他域上的服务器进行Web服务调用。不幸的是,服务器使用JSON而不是JSONP进行响应。因此,当我的回调尝试执行JSON而没有回调“填充”时,出现Unexpected Token :
错误(JSON本身不是有效的Javascript)。
我想知道是否可以使用$ .ajax进行跨域GET请求并忽略响应。我真的只需要单向通信。
程式码片段:
$.ajax(
{
url: 'http://service.somedomainidontcontrol.com',
method: 'GET',
dataType: 'jsonp',
success: function(){
e_log("Success");
},
data: my_data
}
);
服务器响应(我想忽略):
{"status":"success"}
在我看来,我也许可以在DOM上附加一个iFrame来完成此操作,但我确实想要一个更干净的解决方案。另外,我也不想依赖其他服务器来代理请求。
最佳答案
我是否正确理解您的意思,就是想将请求发送到不受控制的服务器,但是不在乎是否收到响应?
在这种情况下,您可以在javascript中创建图像,并将服务器地址用作其源:
var img = new Image();
img.src = 'http://service.somedomainidontcontrol.com';
将
src
添加到映像后,它将立即向服务器发出请求。您会得到一个像图像一样毫无意义的回应,但谁在乎。 :)