我的 JS 函数期望在失败时从 PHP 代码返回一定的返回值。
function showResult(data)
{
if (data == 'save_failed') {
document.getElementById('result').innerHTML = 'Unfortunately, we were not able to save your information. Please contact an admin.';
return false;
} else {
$("#notify").clearForm().clearFields().resetForm();
document.getElementById('result').innerHTML = 'Thank you for signing up with us.';
return false;
}
}
当我在出现明确错误的情况下 echo 'save_failed';
时,这有效,但在 die 语句的情况下不起作用,例如这个:
mysql_connect("host", "user", "pass") or die('save_failed');
我输入了错误的主机名,但 JS 函数没有收到 'save_failed'
返回。
PHP 脚本:
if (!(empty($_POST['name']) && empty($_POST['email'])))
{
//sanitizing inputs for MySQL insertion
$name = mysql_real_escape_string($_POST['name']);
$email = mysql_real_escape_string($_POST['email']);
//connecting to db
mysql_connect("host", "user", "pass") or die('save_failed');
mysql_select_db("table") or die('save_failed');
//inserting into table
mysql_query("INSERT INTO notify (name, email) VALUES('" . $name . "', '" . $email . "' ) ")
or die('save_failed');
}
else
{
echo 'save_failed';
}
最佳答案
即使 die("save_failed")
会输出“save_failed”,它也不会阻止发送脚本中任何先前的输出。
确保如果您自己转到脚本,那么您只会在页面源中收到“save_failed”并且没有错误的字符
关于php - 如何让JS读取PHP die抛出的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7791808/