由于 PHP 中缺少 DEFINE 变量,AJAX 查询失败
我是 AJAX/jQuery 和 PHP 的新手。
我正在尝试使用 XMLHttpRequest 或 jQuery 通过 AJAX 调用 PHP 脚本。在这两种情况下,调用都会失败,因为我调用的 php 文件在第一行包含以下检查
if (!defined("SOMETHING")) { die("Error. You cannot access this file directly");}
,这会导致我的调用失败,因为在这种情况下,当我从外部调用时,未定义此变量。这个条件只是检查调用者是否是同一个Web应用程序,或者调用是否来自外部(那么它将被拒绝)。
有没有解决方法而不删除此检查?我可以使用 AJAX/jQuery 设置这个预期变量吗?
有没有办法通过 AJAX 调用特定的 PHP 方法而不调用整个 PHP 文件?
提前致谢 托马斯
I am new to AJAX/jQuery with PHP.
I am trying to call a PHP script via AJAX using XMLHttpRequest or jQuery. In both cases the call fails because the php file I am calling into contains on the very first row the following check
if (!defined("SOMETHING")) { die("Error. You cannot access this file directly");}
which causes that my call fails, because this variable is not defined in this case as I am calling from the outside. This condition just checks if the caller is the same web application or wheather the call comes from outside (then it will be denied).
Is there a workaround for it without removing this check? Can I somehow set this expected variable using AJAX/jQuery?
Is there a way how to call specific PHP method via AJAX without calling into the whole PHP file?
Thanks in advance
Tomas
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
嗯......你可以做到这一点,但我不确定这是否安全或你希望的方式。
您的 jQuery 应该使用
GET
或POST
发布一个变量,您应该在 PHP 端检查该变量。如果您已收到该变量,请定义SOMETHING
。这是您的 jQuery,使用
POST
方法:这是您的 PHP,如果它收到带有变量的
$_POST
请求,它将定义SOMETHING
其中有一些东西
。Hmm... you can do it, but I am not sure if this is secure or the way you would like it to be.
Your jQuery should post a variable with
GET
orPOST
, which you should check on PHP side. If you have received that variable, then defineSOMETHING
.Here is your jQuery, using the
POST
method:Here is your PHP, which will define
SOMETHING
if it receives a$_POST
request with the variableSOMETHING
in it.