1

jQuery AJAX POST メソッドで Rest サービスを呼び出しました。ヘッダーに 2 つの値を渡す必要があります。Firefox は、ヘッダー値をサービスに渡すことも、REST サービスを呼び出すこともありません。
私のJqueryコード

var postCall = function () {
    $.support.cors = true;
    var HFAssoRefId = document.getElementById('MainContent_HFAssoRefId').value;      
    var Input = {
        AssoRefId: HFAssoRefId
    };   
    alert(JSON.stringify(Input));
    var url = document.URL;
    var name = "samuel";        
    $.ajax({ 
        type: "POST",
        beforeSend: function (xhr) {
            xhr.setRequestHeader("PartnerName", name);
            xhr.setRequestHeader("URL", url);
        },
        url: "http://localhost:40680/Service.svc/TokenInsertion",
        data: JSON.stringify(Input),
        contentType: "application/json",
        dataType: "json",
        success: function (response) {
            alert(response);
        },
        error: function (xhr, status, error) {              
            alert(status);
        }
    });
}


jQuery AJAXでヘッダー値を渡す他の方法はありますか? Internet Explorer 8 で正常に動作します。また、Firefox ブラウザと互換性を持たせるにはどうすればよいですか?

このように投稿する他の方法を試しました。方法 1 :

$(document).ready(function () {
    $("#button").click(function(){   
        var name1 = "samuel";
        var url1 = document.URL;  
        $.post('http://localhost:41855/IntegrationCheck/Default.aspx', {
            name : name1,
            url  : url1
        },function (data) {
            alert(data);
        });
    });
});

AJAX jQueryの方法2:

function setHeader() {
    var xhr = new XMLHttpRequest();
    xhr.open("POST", url, true); 
    xhr.setRequestHeader('Accept', '');
    xhr.setRequestHeader("Content-Type", "application/json");
    xhr.setRequestHeader("Accept", "text/xml;application/json");
    xhr.setRequestHeader("PartnerName", name);
    xhr.setRequestHeader("URL", url);
}

ただし、ヘッダー値は渡されず、サービスは Firefox で呼び出されません。助言がありますか..

4

2 に答える 2

1

以前は、リクエストヘッダーを設定するために以下のアプローチに従っていました。効果があれば試してみてください。

[脚本]

 $("#element").ajaxSuccess(function (evt, request, settings) {
    $('.Status').html(request.getResponseHeader("Status"));
  });

[意見]

  <h2>Status:</h2><h2 class="Status" style="color:Red;">

[コントローラ]

    [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult Save(Order orders)
    {
        string status = string.Empty;

        if (orders != null)
        {
            OrderRepository.Update(orders);
            status = "Updated";
        }

        Response.AddHeader("Status", status);            
        return data.GridActions<EditableOrder>();
    }

応答ヘッダー

于 2013-02-22T11:57:03.330 に答える
0

jQuery.ajaxでヘッダーについて読んでください。

jQueryAJAXGET呼び出しでリクエストヘッダーを渡す

于 2013-02-22T07:57:16.763 に答える