这是我的代码。它向页面发送ajax请求并提醒结果
function num(){
$.ajax({
type: 'POST',
url: 'num.php',
success: function(data) {
data = parseInt($.trim(data));
if(data == 1 )
alert(' its num 1');
else
alert(data)
}
})
}
num.php
<?php echo 1; ?>
它在ie和ff中工作正常但在chrome中这个条件语句由于某种原因不起作用而我在警告窗口中得到'1'
答案 0 :(得分:0)
取代警报..使用console.log(data)
,因为它实际上会显示TYPE,您可以记录更多的detials,而不是使用恼人的警报。
控制台可以显示潜在的类型转换(即使你使用的是parseInt)它可以再次转换为字符串..谁知道..因为所有这些浏览器都使用自己的J / Engines ...约定可能稍微偏离
例如
同样console.log($(object))
再现PHP的print_r(object)
警报不会这样做.. jsut说[对象] - 尝试并避开警报。
使用右键单击 - 检查以访问Chrome中的控制台
答案 1 :(得分:0)
对于转换字符串,您可以尝试:
data = data/1;
比较使用'===':
if(data === 1 )
答案 2 :(得分:0)
根据我的个人经验,您的num.php文件或其中一个包含的文件编码错误,并且会在结果中添加一些不可见的字符。 尝试将编码更改为utf8而不是bom,并从num.php中删除包含的文件