2016-06-09 2 views
0

Я экспериментирую с простым AJAXing, используя jQuery. Я отправляю пустые данные на страницу .php, затем повторяю данные, закодированные JSON, на страницу, где находится мой javascript.jQuery - ошибка метода POJ метода Ajax,

Я получаю ошибку, делая это, но я не могу понять, почему этот код производит ошибку ..

Вот код, который я написал,

index.php

<form id="getData"> 
     <button name="control" type="submit" value="A">GET DATA</button> 
    </form> 

    <form id="showData"> 
     <button name="control" type="submit" value="A">SHOW DATA</button> 
    </form> 
    <div id="results"></div> 
    <div id="map"></div> 

    <script> 
    $("document").ready(function(){ 
     $("#getData").submit(function(event){ 

      $.ajax({ 
       url : "/getVehiclePosition.php", 
       type: "POST", 
       data: "", 
       success: function(data, textStatus, jqXHR) 
       { 
        //data - response from server 
        console.log("Hooray, it worked!"); 
        $('#results').append(data); 
       }, 
       error: function (jqXHR, textStatus, errorThrown) 
       { 
        console.error(
         "The following error occurred: "+ 
         textStatus, errorThrown 
        ); 
       } 
      }); 

     }); 
    }); 
    </script> 

в консоли Chrome, я получаю следующее сообщение об ошибке ..

The following error occurred: error 
error @ ?control=A:52 
i @ jquery-1.12.2.min.js:2 
fireWith @ jquery-1.12.2.min.js:2 
y @ jquery-1.12.2.min.js:4 
c @ jquery-1.12.2.min.js:4 

По какой-то причине, если я вытащил форму отправки, привязывающую к #getDATA, она снова работает хорошо. Потянув мои волосы в данный момент, пожалуйста, помогите !. Спасибо заранее.

[ДОПОЛНЕНО] =============================================================== ======================== Захваченные XHR,

enter image description here

+0

Попытайтесь взглянуть на свои инструменты разработчика (F12)> Сеть и фильтр от XHR. Затем после нажатия кнопки вы увидите красный 'getVehiclePosition.php' слева. –

ответ

0

Вы не прекращались форму от представления его действия по умолчанию так что вы можете реализовать свой запрос ajax. Используйте event.preventDefault() перед вашим ajax.

$("document").ready(function(){ 
     $("#getData").submit(function(event){ 
      event.preventDefault(); 

      $.ajax({ 
       url : "/getVehiclePosition.php", 
       type: "POST", 
       data: "", 
       success: function(data, textStatus, jqXHR) 
       { 
        //data - response from server 
        console.log("Hooray, it worked!"); 
        $('#results').append(data); 
       }, 
       error: function (jqXHR, textStatus, errorThrown) 
       { 
        console.error(
         "The following error occurred: "+ 
         textStatus, errorThrown 
        ); 
       } 
      }); 

     }); 
    }); 
+0

О, вау, да, ты абсолютно прав! Какая глупая ошибка ... как шарм, спасибо, много! – lukieleetronic