Angular + Phonegap + WordPress发布请求失败

时间:2015-04-21 17:05:25

标签: php ajax angularjs wordpress cordova

使用phonegap serve测试我的基于Angular的应用时,GET请求工作正常,但POST请求失败。

我使用WordPress作为我的后端,我的所有AJAX请求都被定向到wp-admin / admin-ajax.php,然后我使用动作挂钩为每个请求运行相应的函数。 GET请求以这种方式工作正常,并将返回预期的结果。但是,无论我做什么,POST请求都会返回0。如果我使用Weinre检查应用程序,请求将成功发送并从WordPress获得200响应,但响应正文只包含" 0"而不是我指定的回应。

在Weinre,我的请求似乎正在正确发送所有必需的变量,但它仍然无法正常工作。以下是Weinre中请求的屏幕截图:

Weinre post request screenshot

我唯一想到的是请求有效负载对象似乎在键周围有引号,而且我不确定这是否会导致WP关闭。有没有人经历过这个或者知道为什么我会遇到这个?

1 个答案:

答案 0 :(得分:0)

找到我的问题的答案。事实证明,Angular处理POST数据的方式阻止用户使用$_POST访问数据,而是要求用户使用file_get_contents("php://input");为了使WP ajax工作,必须使用{{{}}来访问数据1}}超级全球化。为了使Angular正常工作,我在我的应用程序中包含了jQuery并运行了我通过jQuery的$_POST方法发送的postData对象。这在将数据传递给服务器之前将其“字符串化”,使WordPress ajax能够正常工作。有关这方面的更多信息:

http://angulartricks.com/how-to-do-http-post-with-angularjs-in-php/

相关问题