2011-02-09 2 views
2

Привет, ребята, У меня есть небольшая проблема с простым запросом ajax. Я не могу понять, почему метод jquery ajax не работает с последней версией chrome ... на ff отлично работает, так как на opera, но на chrome я не получаю никакого ответа и никаких ошибок. Это мой JS код:jQuery ajax не работает с последней версией хрома

function load(idno){ 
    var url = 'index.php'; 
    $.get(
     url, 
     { 
      pagina:"ajax", 
      show:"cars", 
      brand:idno 
     }, 
     function(data) { document.getElementById("model").innerHTML=data }, 
     "html" 
    ); 
} 
+0

Что такое 'data'? Какой тип? Что такое 'idno'? Существуют ли повторяющиеся элементы 'model'? –

ответ

0

После долгого долгого времени мне удалось решить проблему. Мой JS-код хорош и, может быть, и Фил ... Я не пробовал это в этой версии, но настоящая проблема в Chrome заключается в том, что атрибуты onclick на тегах опций не разрешены. Поэтому я сделал мероприятие

<select onchange='loadData(this.value,'models')'></select> 

и он отлично работает. Спасибо, Фил.

3

Любая причина вы не просто использовать jQuery.load()? Например

$('#model').load('index.php', { 
    pagina: 'ajax', 
    show: 'cars', 
    brand: idno 
}); 

В догадка, я бы сказал, что проблема с innerHTML вызова. Более надежный метод должен был бы использовать jQuery.html(), например

function(data) { $('#model').html(data); } 

Редактировать

Просто взбитые этот тест, и он работает отлично

<?php 
// test.php 
echo '<pre>', print_r($_REQUEST, true), '</pre>'; 

<!-- test.html --> 
<!DOCTYPE html> 
<html> 
    <head> 
    <title></title> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    </head> 
    <body> 
     <div id="model"> 
      Default text 
     </div> 
     <p><button id="fetch-data">Fetch Data</button></p> 
     <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js"></script> 
     <script type="text/javascript"> 
      jQuery(function($) { 
       $('#fetch-data').click(function() { 
        $('#model').load('test.php', { 
         pagina: 'ajax', 
         show: 'cars', 
         brand: 123 
        }); 
        return false; 
       }); 
      }); 
     </script> 
    </body> 
</html> 

Когда я нажимаю кнопку, я могу видеть все переменные запроса, отправленные в скрипт

+0

спасибо, но это не работает ... те же проблемы –

+0

ah ... и $ ('# model'). Load ('index.php', { pagina: 'ajax', показать: 'cars', ' торговая марка: idno }); не работает, потому что запрос выполняется без параметров –

+0

@Badea Я добавил рабочий пример к моему ответу. Протестировано в Chrome 9.0.597.94 – Phil

0

из соображений безопасности не позволяют хром междоменное связь, если запрос не от доверенных сайтов, если вы хотите использовать $ .ajax в хроме, так что вы должны disbale веб-безопасности хромовой использования этого Comman.

your_chrome_path --disable-web-security 

после этого $ .ajax отлично работает.

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