关于Stack Exchange的第一个问题,如果我遗漏了任何内容,那就很抱歉。
我正在尝试对单个API URL进行JQuery AJAX调用,这是使用Zend2 Restful Controller实现的。
当我使用以下代码调用API时。由于我需要在服务器端处理请求的方式,我想在JSONP上使用JSON。
$.ajax({
type: requestType,
beforeSend: function (request)
{
//Add some headers;
},
url: requestURL,
data: requestdata,
contentType: "application/json",
dataType: "json",
success: function(data)
{
console.log('success');
$.each(data.exchangeresponse, function(i, value) {
console.log('Value of '+ i +' is : ' + value);
});
},
我已使用以下内容在Zend中设置控制器。
$response = $this->getResponse();
//$response->setStatusCode(200);
$response->getHeaders()
//make can accessed by *
->addHeaderLine('Access-Control-Allow-Origin','*')
//set allow methods
->addHeaderLine('Access-Control-Allow-Methods','PUT, GET, POST, DELETE, OPTIONS')
//set allow custome headers
->addHeaderLine('Access-Control-Allow-Headers','Authorization, X-Authorization, Origin, Accept, Content-Type, X-Requested-With, X-HTTP-Method-Override, Requester, Version, RequestTimeStamp');
return $response;
但是,当我拨打电话时,我仍然会收到以下错误。
XMLHttpRequest无法加载[Tagert URL]。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许原点[Origin URL]访问。
感谢您的帮助。
非常赞赏。 保罗