Posting JSON using JQuery and to set HTTP content type - 'application /json'

不问归期 提交于 2019-12-10 02:22:25

问题


I am using jquery to post Json data to server. However when I make a post request as below,

    $.ajax({
                type        :   'POST'  ,
                url         :   uri,
                data        :   jsonStrJson,
                contentType :   'application/json',
                success     :   successFunction
        });

The http request header content type is not "application/json" even though I posting a json object.

Since it is not applcation/json, the server does not process the requset and returns 415.

Is there a way to set the header using javascript or jquery API?


回答1:


Can you try this,

$.ajax({
    beforeSend: function(xhrObj){
        xhrObj.setRequestHeader("Content-Type","application/json");
        xhrObj.setRequestHeader("Accept","application/json");
    },
    type: "POST",
    url: uri,       
    data: jsonStrJson,               
    dataType: "json",
    success: function(json){
       console.log(json);
    }
});



回答2:


"contentType" instead "contentTYpe" should also solve the problem. ;)




回答3:


Also for setting http request header parameters you can try this approach:

$.ajax({
       type        :   'POST'  ,
       url         :   uri,
       data        :   jsonStrJson,
       headers     : { 'Content-Type': 'application/json' }, //this line
       success     :   successFunction
        });


来源:https://stackoverflow.com/questions/21193038/posting-json-using-jquery-and-to-set-http-content-type-application-json

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!