在IE11中,Ajax请求responsetext为空

时间:2014-06-06 02:35:52

标签: jquery ajax xmlhttprequest responsetext

我使用jquerys ajax函数调用PHP脚本,它返回一个数字,表示脚本是否失败或成功。问题是,在IE11中,如果我尝试使用responsetext来检查返回码,它总是返回一个空字符串,脚本失败或成功。如果我使用IE的Dev-Tools,请求的响应文本正确显示,只有当我尝试检查代码中的数字时它是空白的。 Chrome& FF正常工作。

这是我的代码:

    $.ajaxSetup({
            'beforeSend' : function(xhr) 
            {
                xhr.overrideMimeType('text/html; charset=utf8');
            },
        });

    $.ajax({
        url:"phpscripts/saveErgebnisse.php",
        type:"POST",
        datatype:"html",
        cache:false,
        data:{
        spielid:spielid,
        manschaft1:manschaft1,
        manschaft2:manschaft2,
        random:Math.random()
        },
        complete:function(xhr,status)
        {
            if(xhr.status==200){
                if(xhr.responseText==1){<-----Is blank
                    $(event.target.parentNode).effect("highlight",{"color":"#33cc33"},300);
                }
                else
                {
                    $(event.target.parentNode).effect("highlight",{"color":"#cc3333"},300);
                }
            }
        },
    });

被叫脚本:

<?php 
session_start();
require_once "../includes/functions.php";
require_once "../includes/classes.php";
header('charset=utf8');


$userid=$_SESSION["userid"];
$manschaft1=!empty($_POST['manschaft1'])?$_POST['manschaft1']:0;
$manschaft2=!empty($_POST['manschaft2'])?$_POST['manschaft2']:0;
$spielid=!empty($_POST['spielid'])?$_POST['spielid']:die(0);


$manschaft1=is_numeric($manschaft1)?$manschaft1:die(0);
$manschaft2=is_numeric($manschaft2)?$manschaft2:die(0);
$spielid=is_numeric($spielid)?$spielid:die(0);

$db= new DatenbankConnection;


//check nach ablaufdatum
$anpfiff=$db->query("Select anpfiff from spiele_tippspiel where spielid=$spielid");
$anpfiff=mysqli_fetch_assoc($anpfiff);
$anpfiff=$anpfiff["anpfiff"];
if(time()-strtotime($anpfiff)>0){
    die(0);
}


if($db->query(
    'Insert INTO tipps_tippspiel 
    SET manschaft1='.$manschaft1.',
    manschaft2='.$manschaft2.',
    userid='.$userid.',
    spielid='.$spielid.'
    ON DUPLICATE KEY UPDATE
    manschaft1='.$manschaft1.',
    manschaft2='.$manschaft2.',
    userid='.$userid.',
    spielid='.$spielid.'
    ')==1){
echo 1;
}else{
echo 0;
}

thx for help

0 个答案:

没有答案