我正在通过Ajax调用及其post变量(数据)进行POST 。 一切顺利,直到我在Request Payload中注意到正在使用GET语句,就像明确地调用GET一样,我不知道为什么会发生这种情况,因为在我的API结构中
我很满意:
if (isset( $_SERVER['REQUEST_METHOD']) && ( strtolower($_SERVER['REQUEST_METHOD']) === strtolower($handler_method)) ) {
//do task
}
这里处理程序方法是处理任务的方法集 有什么想法吗?
注意:ajax调用是通过Backbone进行的,因为如果我在JQuery Ajax中执行此操作,它可以正常工作而不需要任何GET内容。
注意:正如我所提到的,GET内容正在请求有效负载内部,JSON结果正常: {data:null,report:“NO_PARAMS_WRONG_DATA_TYPE”,成功:false}
答案 0 :(得分:1)
$ _ REQUEST包含$ _GET,$ _POST和$ _COOKIES的所有变量。如果你只想要$ _POST,那么使用$ _POST。
答案 1 :(得分:1)
在执行ajax调用时,很可能缺少设置请求类型。 查看here设置 - >类型:
键入(默认:'GET')
要求的类型(“POST”或“GET”),默认为“GET”。
所以,你应该这样做:
$.ajax({
...
type:'POST',
...
})
为了强制jquery发送POST请求
我正在通过Ajax调用及其变量(数据)进行POST
只需使用data
即可获得POST请求,因为data
用于GET和POST请求。只是以不同的方式编码。