gpt4 book ai didi

JavaScript 逻辑失败?

转载 作者:行者123 更新时间:2023-12-02 20:11:28 26 4
gpt4 key购买 nike

我对这个问题真的很困惑。我正在尝试执行一个简单的 ajax 请求,并且我让 php 执行 'echo "true";'如果 ajax 请求成功,则返回包含错误的字符串。我在代码中的其他地方使用了这种精确的技术,并且它与预期进行了比较 (msg != "true") {//do some }。我将在下面发布的第一个函数适用于该方法,第二个函数则不适用于(我也在使用 Firebug 检查响应是否为“true”,并且我已经完成了 console.log(typeof msg) 来验证它的类型字符串)。

这按预期工作(php 回显“true”,并且执行 show_step2()):

function step2_register() {
var values = $('.signup .txt').serialize();

$.ajax({
type: "POST",
url: base_url+"login/create_account",
data: values,
success: function(msg) {
if (msg != "true") {
$("#login_form.signup .error_container #error1").html(msg).css("visibility", "visible");
}
else {
show_step2();
}
},
error: function(error) {
alert(error);
}
});
}

这不起作用(php 回显“true”,但 js 始终执行代码的 slipDown() 部分):

    function register() {
var data = $("#login_form .input").serialize();

$.ajax({
type: "POST",
url: base_url+"login/register",
data: data,
success: function(msg) {
if (msg != "true") {
$("#login_form.signup #error2").html(msg).slideDown();
}
else {
show_success();
}
},
error: function(error) {
alert(error);
}
});
}

这是怎么回事?

最佳答案

您的 php 可能会输出其他不可见的内容,例如“true”一词后面的换行符。请确保您调用 die();exit();输出“true”之后(并执行您需要的其他操作),或者确保 PHP 编辑器中 <?php 之前没有换行符和?>之后.

您还可以通过尝试类似 msg.substring(0,4) == "true" 来检查字符串是否以“true”开头,而不是等于“true”。

关于JavaScript 逻辑失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6908217/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com