ajax post json格式数据至后台,但是收到的数据是其他格式的

Xiao学生丶 2017-12-05 07:13:34
<form enctype="application/json">
<input name='Name' value="231">
</form>

<body>
<button id="postBtn">onclick</button>
<script src="http://nh5.nagezan.net/wx/loveshow/js/jquery-2.1.3.min.js" ></script>
<script>
$('#postBtn').click(function(){
// var params = {name: $("#name").val()}
$.ajax({
type: "POST",
url: "xxx", //这是后台的url
data: {"Name":"123"},
dataType : "application/json",
success: function(respMsg){
$("#respMsg").html("That,s OK!");
}
});
})
</script>
</body>

chrome接收到的数据格式Content-Type:application/x-www-form-urlencoded; charset=UTF-8
请问这是什么原因呢?
后台是没有问题的,我用postman发送数据可以收到res
以前没写过html,工具也好多没用过,刚刚摸索来测后台。有问题请轻喷,谢谢
...全文
474 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Xiao学生丶 2017-12-06
  • 打赏
  • 举报
回复
引用 3 楼 showbo 的回复:
....认真看1#。。都说要你配置 contentType: "application/json", 了
感谢!!!
Go 旅城通票 2017-12-06
  • 打赏
  • 举报
回复
....认真看1#。。都说要你配置 contentType: "application/json", 了
Xiao学生丶 2017-12-06
  • 打赏
  • 举报
回复
引用 1 楼 showbo 的回复:
dataType是指服务器返回的数据要转换后传递给回调的格式,dataType也没有application/json配置值,自己好好看api。post请求默认就是设置那个响应头,你要设置content-type响应头应该配置 contentType: "application/json", 而不是dataType dataType (String) : 预期服务器返回的数据类型。如果不指定,jQuery 将自动根据 HTTP 包 MIME 信息返回 responseXML 或 responseText,并作为回调函数参数传递,可用值: "xml": 返回 XML 文档,可用 jQuery 处理。 "html": 返回纯文本 HTML 信息;包含 script 元素。 "script": 返回纯文本 JavaScript 代码。不会自动缓存结果。除非设置了"cache"参数 "json": 返回 JSON 数据 。 "jsonp": JSONP 格式。使用 JSONP 形式调用函数时,如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。 "text": 返回纯文本字符串 Web开发学习资料推荐 配置chrome支持本地(file协议)ajax请求 Web前端开发框架
您好,感谢您这么早回复我,下面是我的修改之后的,也是之前写的是这样的,但是依旧发送的是那种格式,我这个应该还有问题,麻烦您了
<form id="form" method="post" contentType="application/json">
    <input type = "text" name='Name' id="name">
</form>

<body>
    <button id="postBtn">onclick</button>
    <script src="http://nh5.nagezan.net/wx/loveshow/js/jquery-2.1.3.min.js" contentType="application/json"></script>
    <script>
        $('#postBtn').click(function(){
            var params = {name: $("#name").val()}
            $.ajax({
                type: "POST",
                url: "XXX",
                data: params,
                dataType : "json",
                success: function(respMsg){
                    $("#respMsg").html("That,s OK!");
                }
            });
        })
    </script>
</body>
Go 旅城通票 2017-12-06
  • 打赏
  • 举报
回复
dataType是指服务器返回的数据要转换后传递给回调的格式,dataType也没有application/json配置值,自己好好看api。post请求默认就是设置那个响应头,你要设置content-type响应头应该配置

contentType: "application/json",

而不是dataType

dataType (String) : 预期服务器返回的数据类型。如果不指定,jQuery 将自动根据 HTTP 包 MIME 信息返回 responseXML 或 responseText,并作为回调函数参数传递,可用值:

"xml": 返回 XML 文档,可用 jQuery 处理。
"html": 返回纯文本 HTML 信息;包含 script 元素。
"script": 返回纯文本 JavaScript 代码。不会自动缓存结果。除非设置了"cache"参数
"json": 返回 JSON 数据 。
"jsonp": JSONP 格式。使用 JSONP 形式调用函数时,如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。
"text": 返回纯文本字符串


Web开发学习资料推荐
配置chrome支持本地(file协议)ajax请求
Web前端开发框架

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧