小编典典

jQuery,使用GET方法发送JSON对象

ajax

我正在尝试使用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请求。


阅读 304

收藏
2020-07-26

共1个答案

小编典典

GET请求至少通常是没有消息正文。如文档所述,jQuery将dataGET请求追加到url参数。您应该能够sort使用服务器应用程序从那里读取参数。

顺便说一句,没有任何用户代理会允许您设置Content-Length标头-根据发送的数据,标头将(并且必须)自动完成。

2020-07-26