我们的 API 实现存在问题。我们在 Nginx 服务器中使用 Slim 框架、PHP 实现 API 假设我们在域 api.mydomain.com 中实现我们的 api,并尝试向 services.mydomain 等域发送 GET、POST、PUT 请求.com 或 apps.mydomain.com。我们的请求需要为“x-api-key”和“x-session-key”添加自定义标头以确保安全性。但是当我们尝试添加任何我们无法添加的方法时使用 jquery能够向不同的域发送请求。我们通过添加两种方式进行了尝试
标头:{'X_API_KEY':varibaleName.apiSecretKey},beforeSend:函数(xhr){xhr.setRequestHeader('X-Test-Header','test-value');},
jQuery.ajax({
url: secretIdUrl,
type:'GET',
crossDomain: true,
//headers: { 'X_API_KEY' : varibaleName.apiSecretKey },
beforeSend: function(xhr){xhr.setRequestHeader('X-Test-Header', 'test-value');},
dataType: "json",
success: function (data) {
if(data.results){
widgetControl.setSecretID(data.results.id);
}
}
});
如果您有类似问题的经验,您能否指导我们在 ajax 请求的客户端解决此问题
参考资料:
http ://enable-cors.org
http://dev.opera.com/articles/view/dom-access-control-using-cross-origin-resource-sharing
http://www.nczonline.net/博客/2010/05/25/cross-domain-ajax-with-cross-origin-resource-sharing/