我的Javascript文件生成一个JSON,我想将一些必要的值发送到链接www.leaderpush.com/Send/Getjson?Endpoint=endpoint&P256dh=p256dh&Auth=auth
var obj = JSON.parse(t);
var endpoint = obj.endpoint;
var p256dh = obj.keys.p256dh;
var auth = obj.keys.auth;
但是我无法将其发送到另一个域。当我尝试时,发送的URL变为www.AnyDomain.com/www.leaderpush.com/Send ...
您的建议是什么?
答案 0 :(得分:3)
您需要正确设置网址的格式。
url = "//www.leaderpush.com/Send/Getjson?Endpoint=endpoint&P256dh=p256dh&Auth=auth";
您需要在开始时使用//
来指示紧随该URL的域名,否则将其视为相对于当前URL的文件名。
顺便说一句,如果另一个域禁止CORS,则此方法可能仍然无法工作。您可能需要从服务器而不是客户端发出请求。
答案 1 :(得分:1)
由于您在请求URL中没有绝对提及协议(HTTP / HTTPS)或相对(//),因此浏览器将其视为路径,并将请求URL附加在原始域之后。而且请求域似乎不支持并且具有有效的HTTPS证书,因此请确保您的源域是HTTP,并且请求域(//www.leaderpush.com)受CORS支持。
注意:尝试在$ .ajax()请求标头中包含 crossDomain:true ,以防目标服务器可能应请求提供服务以对客户端启用跨域。