Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 为什么我的数据值不等于我的字符串?_Jquery_Ajax - Fatal编程技术网

Jquery 为什么我的数据值不等于我的字符串?

Jquery 为什么我的数据值不等于我的字符串?,jquery,ajax,Jquery,Ajax,我使用AJAX请求以文本格式返回数据。此AJAX请求将查询返回Success或Failed的PHP页面 当我console.log时,我得到的响应Success。但是,当我将它与Success字符串进行比较时,它告诉我它们的值不同。为什么? $(文档).ready(函数(){ $(“#提交”)。单击(功能(e){ e、 预防默认值(); $.post('verificationconnectionmanagence.php'{ 标识:$(“#标识”).val(), 莫特德帕斯:$(“#莫特德帕

我使用AJAX请求以文本格式返回数据。此AJAX请求将查询返回
Success
Failed
的PHP页面

当我
console.log
时,我得到的响应
Success
。但是,当我将它与
Success
字符串进行比较时,它告诉我它们的值不同。为什么?

$(文档).ready(函数(){
$(“#提交”)。单击(功能(e){
e、 预防默认值();
$.post('verificationconnectionmanagence.php'{
标识:$(“#标识”).val(),
莫特德帕斯:$(“#莫特德帕斯”).val()
},函数(数据){
$str1=“成功”;
控制台日志(数据);
console.log($str1);
如果($str1==数据){
控制台日志(“相等”);
}否则{
console.log(“不相等”)
}
如果(数据==“成功”){
$(“#resultat”).html(“Vous avezétéconnectéavec success!

”); }否则{ $(“#resultat”).html(“连接错误…

”; } }“文本”); }); });

谢谢

从AJAX调用返回纯文本响应时,常见的问题是经常包含的无意空白,这意味着直接比较失败。您可以看到这就是问题所在,因为如图所示,日志将
数据的输出置于新行

短期修复方法是在进行比较之前使用
trim()
,以删除空白:

$.post('verificationconnectionmanagence.php'{
标识:$(“#标识”).val(),
莫特德帕斯:$(“#莫特德帕斯”).val()
},函数(数据){
data=data.trim();//删除空格
如果(数据==“成功”){
控制台日志(“相等”);
$(“#resultat”).html(“Vous avezétéconnectéavec success!

”); }否则{ console.log(“不相等”) $(“#resultat”).html(“连接错误…

”; } }“文本”);

更好的解决方案是以序列化格式(如XML或JSON)返回数据,这样空白就不会影响请求中发送/接收的值。

从AJAX调用返回明文响应时,常见的问题是经常包含无意的空白,这意味着直接比较失败。您可以看到这就是问题所在,因为如图所示,日志将
数据的输出置于新行

短期修复方法是在进行比较之前使用
trim()
,以删除空白:

$.post('verificationconnectionmanagence.php'{
标识:$(“#标识”).val(),
莫特德帕斯:$(“#莫特德帕斯”).val()
},函数(数据){
data=data.trim();//删除空格
如果(数据==“成功”){
控制台日志(“相等”);
$(“#resultat”).html(“Vous avezétéconnectéavec success!

”); }否则{ console.log(“不相等”) $(“#resultat”).html(“连接错误…

”; } }“文本”);

更好的解决方案是以序列化格式返回数据,如XML或JSON,这样空格就不会影响请求中发送/接收的值。

要更好地调试,请尝试以下操作:
console.log(JSON.stringify(data))
console.log(JSON.stringify($str1))将显示任何空白差异。我知道这不是我选择的最佳解决方案!我试过了。修剪一下,效果很好!谢谢Rory McCrossan!我总是犯这样的小错误……作为一名开发人员,我学到的最重要的一课就是调试的艺术。用l“像这样的小错误”——尽你所能准确地检查值是否是你认为的值。在其他语言中,我甚至会做一些事情,比如
Serial.print(“[”+myvariable+“])
检查空白。。诸如此类。为了更好地调试,请尝试以下方法:
console.log(JSON.stringify(data))
console.log(JSON.stringify($str1))将显示任何空白差异。我知道这不是我选择的最佳解决方案!我试过了。修剪一下,效果很好!谢谢Rory McCrossan!我总是犯这样的小错误……作为一名开发人员,我学到的最重要的一课就是调试的艺术。用l“像这样的小错误”——尽你所能准确地检查值是否是你认为的值。在其他语言中,我甚至会做一些事情,比如
Serial.print(“[”+myvariable+“])
检查空白。。诸如此类的事情。