带密钥的Ajax头认证

问题描述:

我正在尝试向网址发送ajax请求并接收xml内容。带密钥的Ajax头认证

问题是:在访问内容之前必须发送验证密钥。

的errormessage的说:

OPTIONS https://example.com/xxx?agency&=xxx&arrival=xxx&departure=xxx&company=xxx&salesmarket=xxx&adults=xxx

的XMLHttpRequest无法加载预检https://example.com/xxx?agency&=xxx&arrival=xxx&departure=xxx&company=xxx&salesmarket=xxx&adults=xxx 响应中心已经无效的HTTP状态代码401

$.ajax 
    ({ 
     type: "GET", 
     url: "https://example.com/xxx", 
     contentType: 'text/xml', 
     headers: { 
     "Authorization": "key xxxxxxx" 
     }, 
     data: {agency: 'xxx', arrival: 'xxx', departure:'xxx',company:'xxx',salesmarket:'xxx',adults:'xxx'}, 
     success: function (response){ 
     console.log(response); 
     } 
    }); 

我已经写在ASP SOM代码的作品,但我希望通过ajax请求获取信息。

 set xmlhttp = server.Createobject("MSXML2.ServerXMLHTTP") 
     xmlhttp.Open "GET","https://example.com/xxx?agency&=xxx&arrival=xxx&departure=xxx&company=xxx&salesmarket=xxx&adults=xxx" 
     xmlhttp.setRequestHeader "Content-Type", "text/xml" 
    xmlhttp.setRequestHeader "key", "xxxxxxx" 

    xmlhttp.send DataToSend 
    response = xmlhttp.responsexml.xml 

谢谢你帮助我:)

+0

当你的jQuery调用将'Authorization'设置为'key xxxxx'时,你的ASP将'key'设置为'xxxxx'。尝试修复。 –

+0

不知道你提供了什么。也许你没有获得成功,或者有其他问题。需要更多信息。 –

我用PHP来得到我所需要的信息。

$url = "https://example.com?agency=xxx&arrival=xxx&departure=xxx&company=xxx&salesmarket=xxx&adults=xxx"; 

$context = stream_context_create(array(
    'http' => array(
     'header' => "key: xxxxxxx" 
    ) 
)); 
$data = file_get_contents($url, false, $context); 

$data = simplexml_load_string($data); 

print_r($data);