2016-05-15 4 views
0

Я столкнулся с проблемой IE, я не могу найти объяснения. У меня есть этот код, который вызывает предупреждение в Chrome и Firefox, но это не в IE. Я даже не звоню GetDictBySubtitle().Странная проблема ajax с IE

<?php 
header('Content-type: text/html; charset=UTF-8'); 
?> 

<!doctype html> 
<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=Edge"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <meta name="description" content=""> 
    <meta name="author" content=""> 

    <title>Something</title> 

    <link rel="stylesheet" href="../css/bootstrap.css" type="text/css"> 
    <link href="../css/dashboard.css" rel="stylesheet"/> 

    <script> 

    function GetDictBySubtitle() { 

     var userid = "000000000027"; 
     var subid = "6317450"; 
     postData = {"userid":userid, "subtitleid":subid};    
      $.ajax({ 
       url: "/cgi-bin/get_movie_dictionary.py", 
       type: "post", 
       datatype:"json", 
       async : true, 
       data: {postData}, 
       success: function(response){ 
        alert(response); 
       } 
      }); 

    } 

    function GetAccountData() { 

     var userid = "000000000027"; 
     alert(userid); 

    } 

</script> 

</head> 
<body> 

<script> 
    window.onload = function() { 
     GetAccountData(); 
    } 
</script> 

AN ALERT SHOULD BE DISPLAYED 

</body> 

    <script src="../js/jquery.js"></script> 
    <script src="../js/jquery-ui.min.js"></script> 
    <script src="../js/bootstrap.min.js"></script> 
    <script src="../js/light-bootstrap-dashboard.js"></script> 


</html> 

Я также добавил cache: false на запрос, но это не проблема кэширования, потому что я удалил все из IE, перезагрузки, и предупреждения по-прежнему скрывается где-то в темноте.

Примечание: при отладке страницы в IE я получаю ошибку GetAccountData() is undefined в блоке window.onload.

Я использую IE 10, Chrome 50, Firefox 45

Это так здорово, что я всегда могу рассчитывать на Microsoft если у меня есть время, чтобы убить.

+0

Неужели вы отключили всплывающие окна в IE? – Marcus

+0

Если я поставлю предупреждение в блоке .onload, он выглядит нормально. – erdomester

+0

Попробуйте просто 'window.onload = GetAccountData;' – Marcus

ответ

1

Изменить

data: {postData}, 

в

data: postData, 

И тест снова.

Почему?

Потому что postData является object.

{postData} является неправильным. В этом случае Internet Explorer обнаружил ошибку и блокировал выполнение.

Смежные вопросы