【问题标题】:how to process a php code (in ajax) without returning any value如何在不返回任何值的情况下处理 php 代码(在 ajax 中)
【发布时间】:2011-04-18 05:50:40
【问题描述】:

我希望这几行能解释这个问题:


//in javascript
function foo(sessionName){
    var u = "test.php?q="+sessionName+"&r="+parseInt(Math.random()*9999999);
    xmlHttpObj.open("get", u, true);
    xmlHttpObj.send();
}       

//in php

$q = $_GET['q'];
unset($_SESSION[$q]);

如你所见,我不希望返回任何值,我只想取消设置特定会话。

【问题讨论】:

  • 那么问题出在哪里?只是不处理退货
  • 这没有任何意义...我什至不知道如何提出改进建议。
  • 不行,ajax不返回任何值就会抹掉原来的值,就像返回echo"";
  • 对不起,“ajax 将擦除原始值” 没有意义。您遇到的具体问题是什么?

标签: php javascript ajax session


【解决方案1】:

您不必返回一个值,如果您访问并运行脚本,它就会完成它的工作。问题是您将无法知道它是否成功,因此通常最好返回一个成功/失败值。但是,由于unset() 实际上并没有返回值,因此在这种情况下不需要。

【讨论】:

  • 这是在您的示例中假设拼写错误而不是实际错误:)
【解决方案2】:

是的,这行得通。我想你的问题是变量名的拼写错误?

var u = "test.php?q="+sessionName+"&r="+parseInt(Math.random()*9999999);
                  ^
$n = $_GET['n'];
            ^

【讨论】:

  • 有错别字就忽略,怎么不返回?
  • @Bagong 只是......不要返回任何东西。看起来你已经在这样做了。
【解决方案3】:

最好还是返回一个值来指示它是否有效。即使这段代码应该可以正常工作。

将其添加到脚本的末尾会给你一个指示它是否有效。

if (isset($_SESSION[$n])) {
    echo 'success';
}
else {
    echo 'fail';
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-29
    • 1970-01-01
    • 2017-12-06
    • 2013-12-19
    • 2022-12-22
    • 1970-01-01
    • 1970-01-01
    • 2010-11-27
    相关资源
    最近更新 更多