我需要执行getJSON请求,但是如何传递授权和自定义标头?授权值是保存在cookie.txt中的asp.net sessionID(ASP.NET_SessionId:drfgjsdfkgdff4534),自定义标头是用户代理(MozillaXYZ / 1.0)。
有没有人能告诉我如何通过getjson请求发送sessionID值和自定义标头?
在php中我们从cookie和自定义标题useragent发送sessionId,如下所示:
curl_setopt($ch, CURLOPT_REFERER, "http://www.google.com/");
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
curl_setopt($ch, CURLOPT_USERAGENT, "MozillaXYZ/1.0"
但是如何使用getjson发送这3个标题项?
<script>
$.getJSON('http://anyorigin.com/get?url=http://www.someremotesite.com/page3.php&callback=?', function(data){
//$('#output').html(data.contents);
var siteContents = data.contents;
//writes to textarea
document.myform.outputtext.value = siteContents ;
</script>
编辑:我使用了ajax而不是getjson但是在使用beforeSend之后ajax停止了拉取数据!任何人都可以告诉我出了什么问题?
<html>
<head>
<script src="http://anyorigin.com/jquery-1.4.2.min.js"></script>
<script>
$.ajax({
url: 'http://anyorigin.com/get?url=http://www.someremotesite.com/page3.php&callback=?',
type: 'GET',
dataType: "json",
success: displayAll
beforeSend: setHeader
});
function displayAll(data){
// alert(data.contents);
document.myform2.outputtext2.value = data.contents ;
}
function setHeader(xhr) {
xhr.setRequestHeader('ASP.NET_SessionId', 'rtretretertret43545435454');
}
</script>
</head>
<body>
<br>
<form id="myform2" name="myform2" action="./3.php?Id=&title=test" method="post">
<td><textarea rows="14" cols="15" name="outputtext2" style="width: 99%;"></textarea></td>
</form>
</html>
答案 0 :(得分:1)
尝试此设置标题:
$.ajax({
url: 'http://something.com/ajax',
type: 'GET',
dataType: "json",
success: displayAll,
headers : {
'ASP.NET_SessionId': 'rtretretertret43545435454'
}
});
不要忘记在你的问题中将'displayAll'之后的逗号添加为。