我以前写ajax的时候都是这么写的,举个例子:
$.ajax({
url: url,
data: {
limit: 10
},
type: 'post',
dataType: 'json'
}),
我一直以为data是个对象,最近来到一家新公司,写了半天不对,后来同事告诉我这么写:
$.ajax({
url: url,
data: JSON.stringify({
limit: 10
}),
type: 'post',
dataType: 'json',
contentType: 'text/plain'
}),
想问一下,data不是个对象吗?这样不就变成字符串了吗?data为什么要JSON.stringify()啊?为什么我以前那样写没问题呢?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
你的写法就是一般的form表单形式
而你同事的写法是直接发送一个json字符串到服务器
两者在服务端的解析方法都不一样,谈不上谁对谁错
看看文档~
http://api.jquery.com/jQuery....
其实比如像get请求,最终还是会被转换成url里的
?key=value这种形式看一下原生JS的ajax就会知道
http://www.w3school.com.cn/aj...
其send参数是一个字符串,只是jQuery背后自动转换为了json字符串的格式。当我么自己封装ajax时,参数就看自己的实现了
前端都可以写。 服务端接收写法问题