$ .ajax не работает в IE, в Firefox это нормально - PullRequest
0 голосов
/ 12 апреля 2011
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script language="javascript">  

    function funcSendSMS(numbers, smsmessage)
    {
    alert(numbers);
      var num = numbers;
      var msg = smsmessage;
  $.ajax({  
    type: "GET",  
    url: "http://sms.vrksolutions.com/messageapi.asp",  
    data: "username=xxxxxx&password=xxxxxx&sender=xxxxxx&mobile="+num+"&message="+msg,
    async: false,
    cache: false,
    success: function(resp){  
      // we have the response  
      alert("Server said:\n '" + resp + "'");  
    },  
    error: function(e){  
      alert('Error: ' + e);  
    }  
  });  
}  
</script>
<script  language="javascript">
funcSendSMS('<?php echo $phnos ?>', '<?php echo $smsmsg;?>');
</script>

Я получил ошибку ниже в IE

Сведения об ошибке веб-страницы

Пользовательский агент: Mozilla / 4.0 (совместимый; MSIE 7.0; Windows NT 6.1; Trident / 4.0; GTB6.6; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Медиа Центр ПК 6.0; InfoPath.2) Отметка времени: вторник, 12 апреля 2011 13:22:58 UTC

Сообщение: доступ запрещен.

Линия: 138 Char: 355 Код: 0 URI: https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js

на этой полосе я нашел

ниже кода в файле min.js

A.src=b.url;if(!d){var C=false;A.onload=A.onreadystatechange=function(){
if(!C&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete"))
{C=true;c.handleSuccess(b,w,e,f);c.handleComplete(b,w,e,f);
A.onload=A.onreadystatechange=null;r&&A.parentNode&&r.removeChild(A)}}}
r.insertBefore(A,r.firstChild);return B}var J=false,w=b.xhr();
if(w){b.username?w.open(h,b.url,b.async,b.username,b.password)
:w.open(h,b.url,b.async);try{if(b.data!=null&&!l||a&&
a.contentType)w.setRequestHeader("Content-Type",

Ответы [ 2 ]

0 голосов
/ 12 апреля 2011
http://sms.vrksolutions.com/messageapi.asp

Я собираюсь догадаться, что это проблема междоменных сценариев. По соображениям безопасности вы не можете делать регулярные вызовы AJAX из одного домена в другой. Эта статья должна прямо рассказать вам о проблемах безопасности и о том, как начать работу с JSONP.

0 голосов
/ 12 апреля 2011

попробуйте это:

$(function(){
     funcSendSMS('<?php echo $phnos ?>', '<?php echo $smsmsg;?>');
});

или

function Load() {
            var a = false;
            try {
                var test = $('*');
                if(test == null)
                    throw 1;
            }
            catch (e) { a = true; }
            if (a){setTimeout(Load, 300);return;}

            funcSendSMS('<?php echo $phnos ?>', '<?php echo $smsmsg;?>');
        } 
setTimeout(Load, 300);

Убедитесь, что вы не выполняете междоменный запрос через AJAX.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...