метод post jquery
$(document).on("click", "#searchgame", function(event){ $.post("/index.php?option=com_ajax&module=AjaxTest&format=json&task=cards", { game: $( "#namegame" ).val() }, function(data){ $( "#tradecards" ).html( data ); alert(data); }); }); Когда на сервере пишу: echo 111; Работает отлично Когда на сервере меняю на код на sql запрос, то в фаер баге возвращает всё нормально, но результат не выводиться в $( "#tradecards" ).html( data ); В чём ошибка? |
Цитата:
|
вообще не работает, когда пишу sql запрос на сервере, а когда echo 111; выводит "111"
|
Запрос еще не ответ, значит не возвращается результат запроса.
|
Цитата:
Для проверки, просто в браузере набери тот УРЛ с параметрами - что покажет на страничке? |
заметил такую особенность если в файле на сервере писать цифры, всё норм.
Если буквы (даже латинские) не чего не работает, даже alert не вызывается |
ответ с сервера такой
1234123412341234123412341234123412341234123412341234123412341234123412341234123412341234123412341234 1234123412341234123412341234123412341234123412341234123412341234123412341234123412341234123412341234 1234123412341234123412341234123412341234123412341234123412341234123412341234123412341234123412341234 1234123412341234123412341234123412341234123412341234123412341234123412341234123412341234123412341234 отображается в $( "#tradecards" ).html( data );нормально а такой : sadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsada sdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsa dasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasd sadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsada sdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsa dasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasdsadasd не отображается, и алерт не вызывается |
У вас проблемы на сервере, клиент тут не причем.
|
Цитата:
$(document).on("click", "#searchgame", function(event){ $.post("/index.php?option=com_ajax&module=AjaxTest&format=json&task=cards", { game: $( "#namegame" ).val() }, function(data){ alert(data); $( "#tradecards" ).html( data ); }); }); }); Будет показывать ответ сервера? |
ksa,
может js библиотека корявая? function getXmlHttp() { var xmlhttp; try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { xmlhttp = false; } } if (!xmlhttp && typeof XMLHttpRequest!="undefined") { xmlhttp = new XMLHttpRequest(); } return xmlhttp; } var xmlhttp = getXmlHttp(); xmlhttp.open("POST", "/index.php?option=com_ajax&module=AjaxTest&format=json&task=cards", true); xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xmlhttp.send("game=" + encodeURIComponent(document.getElementById("namegame").value)); xmlhttp.onreadystatechange = function() { if(xmlhttp.status == 200) { document.getElementById("tradecards").innerHTML = xmlhttp.responseText; } } такой кот работает исправно |
поставил алерт выше, не чего
|
Лучше бы показали как на сервер обрабатывается запрос и возвращаются данные. Нет проблем с отправкой данных методами jQ, как не будет их используя XMLHttpRequest. А вот условия отправки/обработки/ответа, это может сыграть роль.
|
я писал что на сервере код такой
echo 111;- всё работает когда меняю на echo 'aaa';не работает. Больше на сервере не чего нет. |
Заключим пари на литр армянского коньяка, что этот код:
<? header('Content-type: text/html; charset=utf-8'); if($_POST) exit('111 aaa'); ?> <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> <script> $(function() { $('button').click(function(){ $.post(location, {p: 1}, function(d){ alert(d) }) }) }) </script> </head> <body> <button>GO</button> </body> </html> выполненный на вашем сервере вернет строку "111 English Русский"? Если же вернет "111", значит очень странные проблемы с сервером вашим. header('Content-type: text/html; charset=utf-8'); на случай если ваш сервер не передает этот заголовок сам. jQuery взята последняя из поддерживающих IE8. Проверяйте. |
Заголовок charset=utf-8 в .htaccess прописан
111 English Русский - вообще не работает(я сейчас не про ваш код конкретный, а про вставку его в мой) jQuery да последний, может его на более старый сменить? |
Не нужно в ваш вставлять, а исполните именно код приведенный, как отдельный файл. Результат?
|
Цитата:
|
проблема была в библиотеке jQuery (хотя качал с гугла), сменил на более позднюю, всё работает отлично.
|
Часовой пояс GMT +3, время: 17:13. |