Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.10.2012, 09:29
Аспирант
Отправить личное сообщение для JustCrazy Посмотреть профиль Найти все сообщения от JustCrazy
 
Регистрация: 20.07.2012
Сообщений: 64

Криво работает XMLHttpRequest
Всем доброго времени суток.
В общем есть у меня две странички, одна идет как шапка и подтягивает другую, которая в свою очередь таблица генерирующаяся из БД.

index.php:
...
function getXmlHttp(){...}
function search() {
	var param = 'fraction=' + document.getElementById('fraction').value + '&category=' + document.getElementById('category').value;
	var xmlhttp = getXmlHttp()
	xmlhttp.open('GET', 'http://..../index2.php?' +param, true);
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4) 	{
		 if(xmlhttp.status == 200)  {
			document.getElementById('load').innerHTML=xmlhttp.responseText;
		 }
		$(document).ready(function() {
			$("#example").tablesorter( {
				widgets: ["zebra"],
				sortList:[[1,0]]
			});
		});
		}
	};
	xmlhttp.send(null);
}
...
<body>
<table cellpadding='0' cellspacing='0' width=100%>
	<tr>
		<td align='center' >
			<select id='fraction'>
				<option value='1'>1</option>
				<option value='2'>2</option>
			</select>
                        <select id='category'>
				<option value='1'>1</option>
				<option value='2'>2</option>
			</select>
			<input type='button' value='Найти' onClick='search();'>
		</td>
	</tr>
</table>
</body>


и index2.php:
<?php
...
if(isset($_GET['fraction'], $_GET['category'])) { $fr=$_GET['fraction']; $ct=$_GET['category']; } else { $fr="1"; $ct="1";};
$tb=query("SELECT * FROM $table1 INNER JOIN $table2 using(id) WHERE fraction='$fr' AND category='$ct' ORDER BY lvl");
if (mysql_num_rows($tb)>0)
	{ 
//генерируется таблица
	}
?>
//и вывожу
...
<table id='example' width='100%' border='1' >
<tbody>
<?= ... ?>
</tbody>
</table>

Суть в том, что когда я запускаю скрипт отдельно - он работает нормально, но стоит его подключить в один из разделов на сайте и запустить там, начинаются проблемы:
select id='category' игнорируется, ну и естественно выставляется по умолчанию "1", какую бы я категорию не выбирал..
может кто помочь выяснить в чем проблема?
Ответить с цитированием
  #2 (permalink)  
Старый 16.10.2012, 11:11
Профессор
Отправить личное сообщение для Dmitriyff Посмотреть профиль Найти все сообщения от Dmitriyff
 
Регистрация: 22.07.2012
Сообщений: 164

с виду вроде все в норме, может кто другой более зоркий и увидит ошибку

но попробуйте изменить search на вот такой, раз уж вы используете jQuery, меньше кода меньше шансов сделать ошибку =-)
function search() {
  $.ajax({
    url: 'http://..../index2.php',
    type: 'GET',
    data: {
      category: $('#category').val(),
      fraction: $('#fraction').val()
    },
    success: function(data) {
      $('#load').html(data);

      $("#example").tablesorter({
				widgets: ["zebra"],
				sortList:[[1,0]]
			});
    } // success
  }) // ajax
} //search
Ответить с цитированием
  #3 (permalink)  
Старый 16.10.2012, 11:31
Аспирант
Отправить личное сообщение для JustCrazy Посмотреть профиль Найти все сообщения от JustCrazy
 
Регистрация: 20.07.2012
Сообщений: 64

Причина оказалась в том, что какая то пакость на сайте преобразует
&category
на
&amp;category
если не получится выяснить что, последую Вашему совету. Спасибо.

Никто случайно не знает, из-за чего это может быть ?

Последний раз редактировалось JustCrazy, 16.10.2012 в 11:42.
Ответить с цитированием
  #4 (permalink)  
Старый 16.10.2012, 12:01
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

htmlspecialchars или его соплеменники.
__________________
.
Ответить с цитированием
  #5 (permalink)  
Старый 16.10.2012, 12:03
Профессор
Отправить личное сообщение для Dmitriyff Посмотреть профиль Найти все сообщения от Dmitriyff
 
Регистрация: 22.07.2012
Сообщений: 164

Да =-), помнится тоже что-то такое было где-то, у меня это было, когда ответ приходил с сервера и содержал в себе url, решение было костылем, replace (/&amp;/, &)

В какой момент у вас это происходит, когда создаете param?
Ответить с цитированием
  #6 (permalink)  
Старый 16.10.2012, 12:10
Аспирант
Отправить личное сообщение для JustCrazy Посмотреть профиль Найти все сообщения от JustCrazy
 
Регистрация: 20.07.2012
Сообщений: 64

Сообщение от Dmitriyff Посмотреть сообщение
В какой момент у вас это происходит, когда создаете param?
да, как раз в этот момент, и получается category отсекается
Ответить с цитированием
  #7 (permalink)  
Старый 16.10.2012, 12:25
Профессор
Отправить личное сообщение для Dmitriyff Посмотреть профиль Найти все сообщения от Dmitriyff
 
Регистрация: 22.07.2012
Сообщений: 164

В данном случает конечно странно, проверьте исходный код страницы, посмотрите что вам отдает сервер, действительно ли там '&category',

Ибо если вы используете какой либо шаблонизатор или еще чего, возможно он меняет & на &amp;
Ответить с цитированием
  #8 (permalink)  
Старый 16.10.2012, 12:30
Аспирант
Отправить личное сообщение для JustCrazy Посмотреть профиль Найти все сообщения от JustCrazy
 
Регистрация: 20.07.2012
Сообщений: 64

да, сайт по шаблону, скорее всего в нем и дело... вне сайта код успешно работает, а по httpfox смотрел что сервер выдает, как раз там и увидел подмену
Ответить с цитированием
  #9 (permalink)  
Старый 16.10.2012, 14:18
Аспирант
Отправить личное сообщение для JustCrazy Посмотреть профиль Найти все сообщения от JustCrazy
 
Регистрация: 20.07.2012
Сообщений: 64

решил я проблему, не меняя кода) придумал свой "костыль" когда создается param - там убрал &, а при генерации базы в колонку fraction добавил в конце
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает XMLHttpRequest (status) в Explorer и Opera Alepri Javascript под браузер 3 26.04.2012 19:28
Помогите с XMLHttpRequest не работает в опере. phpguru AJAX и COMET 7 03.04.2012 22:52
XMLHttpRequest не работает в Опере и IE KA027 jQuery 8 20.01.2012 09:14
Криво работает добавление в корзину Aprol Ваши сайты и скрипты 0 18.03.2011 14:04
XMLHttpRequest не работает lgv Firefox/Mozilla 0 14.04.2010 17:07