jquery ajax怎么通过header传递参数
2016-03-28
path: GET /api/user/123 其中的123通过path传递
query: GET /api/search_user?userId=123
body: POST /api/user-signup {username: 'john'}
不建议通过header传参的原因:
1. proxy 和 reverse proxy会drop header
2. 不利于传输object
3. HTTP access control (CORS) API 一般会设置Access-Control-Allow-Headers,分分钟教你做人。
4. 不利于dev和debug
5. Header长度限制
然后,如果你需要传header,比如Authorization,
2016-05-21 · 百度知道合伙人官方认证企业
jquery中不建议ajax通过header传递参数。
主要原因如下:
proxy 和 reverse proxy会丢失header导致参数丢失
不利于传输js对象
HTTP access control (CORS) API 一般会设置Access-Control-Allow-Headers设置域限制
不利于开发和调试查看参数的正确性
Header中的参数有长度限制,可能会导致传输丢失
举例如下:
$.ajax({
url: '/path/to/service',
method: 'GET | POST | PUT | DELETE',
headers: {
'Authorization': 'Bearer <jwt token>',
'some-other-header': 'some value'
}
})
.done(function(data){...})
.fail(function(jqXHR){...})
.always(function(){...})
正确的做法:
1. path中传递(这是最常见的)
2. body中传递POST 请求里面很常见
3. header field,例如 cookie,以及 OAuth 的 Authorization 等