我正在尝试使用GET方法发送一个json对象。我的代码:
$.ajax({
url: "/api/endpoint",
type: "GET",
data: {"sort":"date"},
contentType: "application/json",
dataType: "json",
...
但是,收到的 header 的“Content-Length”设置为零,因此服务器上的json解析器无法读取内容。
我已经尝试设置内容长度 header ,但是它仍然以零的形式出现在服务器上:
$.ajax({
url: "/api/endpoint",
headers: {"CONTENT_LENGTH",JSON.stringify({"sort":"date"}).length},
type: "GET",
data: {"sort":"date"},
contentType: "application/json",
dataType: "json",
...
任何想法如何使它工作?它必须是GET请求。
最佳答案
GET请求(at least usually)没有消息正文。如the docs中所述,jQuery将GET请求的data
附加到url参数。您应该能够使用服务器应用程序从那里读取sort
参数。
顺便说一句,没有用户代理会允许您设置Content-Length
header -它(并且必须)根据发送的数据自动完成。
关于jquery - jQuery,使用GET方法发送JSON对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10948233/