2012-03-24 3 views
1

Я пытаюсь отправить запрос json RPC ajax при загрузке страницы. Вот мой javascript код:Json RPC jquery ajax call

$(document).ready(function() { 
     var data="orderID=<?=$_POST['orderID'];?>&&lang=eng"; 
     $.ajax({ 
      url: "ajax/get_json_variables.php", 
      type: "POST",  
      data: data,  
      cache: false, 
      success: function (html) { 
       var splited=html.split("|"); 
       if(splited[0]=="0") 
       { 
        alert(splited[1]); 
       } 
       else 
       { 
        $.ajax({ 
         url: "https://91.199.226.106/ssljson.php", 
         type: "POST",  
         data: splited[1],  
         cache: false, 
         dataType:"json", 
         success: function (html) { 
          alert(html); 
         } 
        }); 
       } 
      } 
     }); 
    }); 

С первым запросом ajax я получаю строку json для второго запроса. Google chrome дает мне эту ошибку:

XMLHttpRequest cannot load https://91.199.226.106/ssljson.php. Origin http://www.nver.am is not allowed by Access-Control-Allow-Origin. 

Я не понимаю, в чем проблема? Спасибо за помощь.

+1

Очень распространенная ошибка. Это потому, что «91.199.226.106' и« www.nver.am »не совпадают. Они ** ДОЛЖНЫ ** быть одинаковыми –

ответ

2

Проблема обусловлена ​​Same Domain Policy, и это может быть сложно работать вокруг. Если вы не использовали jQuery, несколько способов, которыми вы можете обойти это, и до сих пор достичь желаемой функциональности, было бы использовать iframes и междоменный помощник обмена сообщениями, такой как EasyXDM, или динамически вставляемые теги для получения вашего JSON в специальном формате известный как JSONP.

К счастью, вы используете jQuery, поэтому вы можете использовать http://api.jquery.com/jQuery.getJSON/ и JSONP для работы с той же политикой происхождения.

0

Я думаю, что это может быть проблема, связанная с «той же политикой происхождения». Вы не можете выполнять различные вызовы ajax для разных доменов или с разными протоколами, как вы это делаете.

Вот некоторые ссылки: http://en.wikipedia.org/wiki/Same_origin_policy http://stackoverflow.com/questions/1105934/ajax-http-https-problem http://en.wikipedia.org/wiki/Cross-Origin_Resource_Sharing