我是使用PHP的AJAX / jQuery的新手。
我正在尝试使用XMLHttpRequest或jQuery通过AJAX调用PHP脚本。在这两种情况下,调用都会失败,因为我调用的php文件在第一行包含以下检查
if (!defined("SOMETHING")) { die("Error. You cannot access this file directly");}
导致我的调用失败,因为在这种情况下没有定义此变量,因为我从外部调用。这个条件只是检查调用者是否是同一个Web应用程序,或者来自外部的调用(然后它将被拒绝)。
是否有解决方法而不删除此项检查?我能以某种方式使用AJAX / jQuery设置这个预期的变量吗?
有没有办法如何通过AJAX调用特定的PHP方法而不调用整个PHP文件?
提前致谢 托马斯
答案 0 :(得分:2)
嗯......你可以做到,但我不确定这是否安全或你想要的方式。
你的jQuery应该发布一个GET
或POST
的变量,你应该在PHP端检查。如果您已收到该变量,请定义SOMETHING
。
这是你的jQuery,使用POST
方法:
$.post('ajax.php', {SOMETHING: true}, function(ret){
// do whatever you like with the return here
});
以下是您的PHP,如果收到包含变量SOMETHING
的{{1}}请求,则会定义$_POST
。
SOMETHING