使用JQuery发布JSON并设置HTTP内容类型 - 'application / json'

时间:2014-01-17 18:18:53

标签: ajax json jquery http-post

我正在使用jquery将Json数据发布到服务器。但是,当我发布如下的帖子请求时,

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

即使我发布了json对象,http请求标头内容类型也不是“application / json”。

由于它不是applcation / json,服务器不会处理requset并返回415.

有没有办法使用javascript或jquery API设置标头?

3 个答案:

答案 0 :(得分:25)

你能试试吗,

$.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);
    }
});

答案 1 :(得分:5)

“contentType”而不是“contentTYpe”也应该解决问题。 ;)

答案 2 :(得分:0)

另外,对于设置http请求标头参数,您可以尝试这种方法:

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