当发出AJAX请求时,当我的数据是URL样式字符串时工作。
var options = {
type: 'post',
data: 'action=my_action'
};函数将被调用并返回一些假数据。
如果我尝试进行相同的调用,但使用JSON,则无法工作。我尝试过几种不同的方法,但admin.php只是返回-1。
在jQuery或Wordpress中有什么东西我需要修改才允许这样做吗?
以下是我尝试过的其他几种方法。
var options = {
type: 'post',
data: { action: 'my_action' }
};
var options = {
type: 'post',
data: JSON.stringify({ action: 'my_action' })
};文档中的示例也让它使用JSON对象。http://codex.wordpress.org/AJAX_在……里面_插件
发布于 2012-07-21 22:16:27
首先,stringify不会构建URL查询-它将其序列化为JSON对象表示法。
其次,您甚至不需要构建URL查询--如果您使用jQuery进行AJAX调用,只需按原样传递JSON对象-- jQuery.param()将在内部处理它:)
发布于 2012-07-21 23:53:25
如果您没有复制wordpress代码库中提供的不良实践示例,请忽略此答复。
如果是的话,我建议在WP:http://www.garyc40.com/2010/03/5-tips-for-using-ajax-in-wordpress/中正确地(并且安全地)使用Ajax阅读本文。
这篇文章实际上也是链接在法典页上,所以我想知道为什么法典页上的例子仍然是按原样写的。
https://wordpress.stackexchange.com/questions/59239
复制相似问题