JQuery AJAX текст ответа не завершен - PullRequest
1 голос
/ 11 февраля 2011

У меня есть страница, на которой мне нужно перезагрузить широты и долготы, чтобы обновить карту Google. Я делаю это, используя ajax, функция JS такая:

function refreshMap(idCamiones)
{

$.ajax({
    type: "GET",
    async: false,
    url: "refresh.php",
    data: "idCamiones="+idCamiones,
    contentType: "application/x-www-form-urlencoded",
    success : function(text)
        {
             refresh = text;
         }
});

//Borramos todos los marcadores actuales
for (i in markersArray) {markersArray[i].setMap(null);}
markersArray.length=0;

//generamos un array con las latitudes en pares y las longitudes en nones.
posArray=refresh.split(",");
for(i=0;i<=posArray.length;i=i+2)
{
addMarker(2,posArray[i],posArray[i+1]);
}
}

refresh - глобальная переменная JS, в которой хранится ответ из файла PHP. Если я вызываю файл PHP с помощью браузера, данные завершены, я получаю (posArrray[0],..,posArray[n]), но если я вызываю PHP с помощью функции JS, переменная JS сохраняет только (posArray[n-1],posArray[n]), а все остальные координаты отсутствуют только в переменная JS мой PHP-скрипт работает хорошо.

<?php
include_once("conexion.php");
$idCamiones=$_GET['idCamiones'];
$reponse='';
$query="SELECT * from datos INNER JOIN dbo.eventos ON eventos.codigo=datos.codigo where id IN (
Select max(id) from datos where camion in (".$idCamiones.") group by serie)  order by serie";
$bD=new COM("ADODB.Recordset");
$bD->Open($query,$conn);
$busData=fetch_assoc($bD);
$bD->close();
for($i=0;$i<sizeof($busData);$i++)
{
$response.=$busData[$i]['latitud'].",".$busData[$i]['longitud'].",";
}
    echo $response;

?>

Я не знаю, возвращаю ли я $ response в php-файле неправильно, я тоже пытался с refresh=$.ajax({}).responseText; и получаю те же результаты.

Ответы [ 3 ]

1 голос
/ 12 февраля 2011

Проблема решена, спасибо, проблема была в параметре, отправленном в функцию refreshMap (9,15,17), PHP-скрипт принял значение 9 как единственное значение, поэтому я просто добавил кавычки для отправки параметра в виде строкиуловка, спасибо вам обоим, я забыл о firebug, я просто использовал консоль Chrome.

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

Вызовите ваши параметры AJAX url + прямо в адресной строке вашего браузера и посмотрите, что на них получится.

Если у вас есть FF и Firebug, вы можете использовать вкладку NET -> XHR для проверки запроса иответ напрямую.

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

Если вы предупреждаете (текст), это дает правильную информацию?Как насчет консоли в Firebug, когда вы смотрите на ответ, он правильный или неправильный?

У меня есть такая карта, но у меня не было этой конкретной проблемы.Я никогда не видел, чтобы ajax-запрос отправлял меньше, чем то, что я видел в браузере, если только это не было проблемой с нарушением работы XML.Я использовал только XML или HTML.

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