gpt4 book ai didi

javascript - 如何将 Ajax 响应转换为字符串以与 JS 字符串进行比较

转载 作者:行者123 更新时间:2023-11-30 20:17:21 25 4
gpt4 key购买 nike

如何将 Ajax 响应转换为纯文本字符串?我有全局变量并将 ajax 响应存储到它,但是当我要将它与 javascript 字符串进行比较时,即使它们相等,它也会返回 false。

这是我的代码:

function checkUsn(){
var usn = document.getElementById("usn").value;
if(usn){
$.ajax({
type: 'post',
url: 'checkdata.php',
data: {
emp_username: usn,
},
success: function(response){
console.log(response);
myGlobalContainer.usn = response; //convert it to compare with string
$('#status').html(response);
}
});
}
}

在控制台中,当我在数据库中键入现有用户名时,它会记录 OK。这 OK 存储在 myGlobalContainer.usn 中,但是当我像下面的代码一样进行比较时,它返回 false。

if(myGlobalContainer.usn == "OK"){
return true;
}else{
return false;
}

我将添加 php 文件。

<?php
header("Content-Type: text/plain");
include 'db_config.php';
$conn = new mysqli($db_servername, $db_username, $db_password, $db_name);

if(isset($_POST['emp_username'])){
$usn = $_POST['emp_username'];

$checkdata = "SELECT emp_username FROM emp_details where emp_username='$usn'";

$query = mysqli_query($conn, $checkdata);

if(mysqli_num_rows($query) > 0){
echo "OK";
}else{
echo "Your Username not exist";
}
exit();
}

if(isset($_POST['emp_pw']) && isset($_POST['emp_usn'])){
$pw = $_POST['emp_pw'];
$usn = $_POST['emp_usn'];

$get_pw = "SELECT emp_password FROM emp_details where emp_username='$usn'";

$query = mysqli_query($conn, $get_pw);

//$get_num_rows = mysqli_num_rows($query);
//echo $get_num_rows;

$row = mysqli_fetch_assoc($query);
//echo $row["emp_password"];

// check if password is match with username
if($pw == $row["emp_password"]){
echo "MATCH";
}else{
echo "Wrong password";
}
exit();
}
?>

请帮忙谢谢!

最佳答案

默认情况下,jQuery 的 ajax 函数将确定它从 Content-Type 响应 header 接收的数据类型。

您可以使用 dataType 参数覆盖它。

$.ajax({
dataType: "text",
// etc etc
});

... 然而,由于响应似乎是“OK”而不是 HTML,因此您的 PHP 可能应该进行调整以输出正确的 Content-Type:

<?php
header("Content-Type: text/plain"); # Override the default (text/html)
echo "OK";

因此还要确保响应真的只是“OK”,并且您没有输出(例如)“OK”后跟一个新行。

关于javascript - 如何将 Ajax 响应转换为字符串以与 JS 字符串进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51798163/

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