-1

我正在通过 Ajax 调用及其 post variables (data) 进行 POST。一切都很好,直到我在请求有效负载中注意到 GET contet 好像会显式调用 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", success: false}

4

2 回答 2

1

$_REQUEST 包括 $_GET、$_POST 和 $_COOKIES 的所有变量。如果您只需要 $_POST,请使用 $_POST。

于 2013-05-22T16:09:27.957 回答
1

很可能您在进行 ajax 调用时缺少设置请求类型。在这里查看设置 -> 输入:

类型(默认值:'GET')

要发出的请求类型(“POST”或“GET”),默认为“GET”。

所以,你应该这样做:

$.ajax({
   ...
   type:'POST',
    ...
})

为了强制 jquery 发送 POST 请求

我正在通过 Ajax 调用及其 post 变量(数据)进行 POST

简单地使用data你不会得到 POST 请求,因为data它用于 GET 和 POST 请求。只是以不同的方式编码。

于 2013-05-22T16:14:33.907 回答