我正在尝试使用GET方法发送一个json对象。我的代码:
$.ajax({ url: "/api/endpoint", type: "GET", data: {"sort":"date"}, contentType: "application/json", dataType: "json", ...
但是,收到的标头将“ Content-Length”设置为零,因此服务器上的json解析器无法读取内容。
我已经尝试设置内容长度标头,但是它仍然以零的形式出现在服务器上:
$.ajax({ url: "/api/endpoint", headers: {"CONTENT_LENGTH",JSON.stringify({"sort":"date"}).length}, type: "GET", data: {"sort":"date"}, contentType: "application/json", dataType: "json", ...
任何想法如何使它工作?它必须是GET请求。
GET请求至少通常是没有消息正文。如文档中所述,jQuery将dataGET请求追加到url参数。您应该能够sort使用服务器应用程序从那里读取参数。
data
sort
顺便说一句,没有任何用户代理会允许您设置Content-Length标头-根据发送的数据,标头将(并且必须)自动完成。
Content-Length