带密钥的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
谢谢你帮助我:)
答
我用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);
当你的jQuery调用将'Authorization'设置为'key xxxxx'时,你的ASP将'key'设置为'xxxxx'。尝试修复。 –
不知道你提供了什么。也许你没有获得成功,或者有其他问题。需要更多信息。 –