【发布时间】:2016-04-28 08:53:00
【问题描述】:
所以我制作了一个 WordPress 插件,并在管理页面中使用了 ajax 调用。它在我所有的测试站点和服务器上都能正常工作,但现在我在一个更大的站点上测试它,并安装了多个其他插件。我不知道为什么,但是如果我按下调用 ajax 请求的按钮,什么都没有发生。
这是我的 ajax 调用的代码:
jQuery.ajax({
url: "../wp-content/plugins/autocommerce/admin/activatePlugin.php?activate=true",
method: "POST",
data: { txtAC : txtAC, txtKey: txtKey }
}).done(function(msg) {
if(msg == "success") {
jQuery("#admin_activate").append('<input type="hidden" name="txtActivated" value="true" />');
jQuery("#admin_activate").submit();
} else if(msg == "failed") {
jQuery("#activateError").html("Gegevens onjuist. Controleer uw gegevens en probeer het opnieuw.");
} else if(msg == "notSet") {
jQuery("#activateError").html("Een of meerdere velden zijn onjuist ingevuld.");
} else {
alert(msg);
jQuery("#activateError").html("Er is een fout opgetreden. Probeer het later opnieuw.");
}
});
没有错误,在其他网站上它只是工作,所以我不知道从哪里开始寻找解决这个问题。
希望有人能帮帮我。
【问题讨论】:
-
检查您的脚本是否真的在访问您指定的 url url:“../wp-content/plugins/autocommerce/admin/activatePlugin.php?activate=true”
-
我该如何测试这个?因为在我测试的其他网站上,代码运行良好。
-
js 中的硬编码网址不是我认为的最佳主意。最好添加类似 在生成 ajax 调用的页面的 php 文件中,并在 ajax 调用中使用 yourUrl 变量
-
你是对的。这是一个更好的主意。但仍然没有发生任何事情。我确定网址现在可以了
-
尝试直接访问您的网址,看看它是否会给您任何结果。还可以尝试在 ajax 调用中指明数据类型,这可能是个问题。还要检查该 php 文件的权限。它们是 664 还是 644?