如何将cookie文件和自定义标头的授权值传递给getjson?

时间:2013-06-14 17:30:26

标签: javascript cookies session-cookies getjson

我需要执行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>

1 个答案:

答案 0 :(得分:1)

尝试此设置标题:

$.ajax({
    url: 'http://something.com/ajax',
    type: 'GET',
    dataType: "json",
    success: displayAll,
    headers : {
        'ASP.NET_SessionId': 'rtretretertret43545435454'
    }
});

不要忘记在你的问题中将'displayAll'之后的逗号添加为。