2016-11-19 6 views
2

У меня есть простое модальное окно, содержащее поле ввода. Я использую jquery ajax для проверки, а также отправлю данные в базу данных с помощью php. Запрос ajax показывает код состояния 200 ok, но данные не вставлены и функция успеха не выполняется. Кто-нибудь замечает какую-либо ошибку? Нужна помощьЗапрос Ajax показывает полный, но данные не отправлены

<script type="text/javascript"> 

      $(document).ready(function() { 
       $("#add_location").click(function() { 

       var inputDiv = $('#inputDiv').val(); 
       var dataString = 'location=' + inputDiv; 

       if (inputDiv == '') { 
       $('#error_message').html("Please enter a location"); 
      } else { 
       $.ajax 
      ({ 
       type: "POST", 
       url: "add_location.php", 
       data: dataString, 

       success: function(data) 
       { 
         $("#error_message").empty(); 
         $("#error_message").html(data); 
       } 
       }); 

      } 
      return false; 
       }); 
      }); 


</script> 

add_location.php

<?php 

$location = new dbhandler(); 



$ran_id = mt_rand(45287,98758); 

if(isset($_POST)) { 

$locationData = $_POST['location']; 

    try{ 
    $location->create('shop_locations', array(
     'r_id' => $ran_id, 

     'location' => $locationData, 
    )); 
    echo "Location successfully added"; 
    }catch(Exception $e){ 
    die($e->getMessage()); 
    } 
} 

создать() представляет собой метод для вставки данных

create($tableName, $fields = array()); 
+0

Вы получаете данные в файле PHP после отправки? – Amir

+0

Я не знаю. Есть ли способ увидеть опубликованные значения? – Abhijit

+0

эхо ваш $ locationData, проверьте, что вы получаете что-либо или нет. – Amir

ответ

0

Вы можете попробовать что-то

//js file 
    $.ajax({ 
     url: "You_url", 
     type: "POST", 
     data: $("#form_name").serialize(), 
     headers: { 
      'Authorization' : 'JWT ' + token 
     } 
    }) 
    .done(function (data) { 
     console.log(data); 
    }) 
    .fail(function (data) { 
     console.log(data); 
    }); 

И эхо сообщение данных в php-файле, если вы получите anythin г. Я использовал JWT, поэтому я использовал JWT здесь, а токен - это переменная, в которой я храню свой токен.

+0

Я использовал этот 'тип $ .ajax \t \t ({ \t \t:«POST», \t \t URL: "add_location.php", \t \t данные:. $ ("# locationForm") сериализации(), \t \t \t \t}); \t \t \t \t \t .done (функция (данные) { \t \t \t console.log (данные); \t \t \t}); \t \t \t .fail (функция (данные) { \t \t \t console.log (данные); \t \t}); ' Это показывает неопределенную лексему – Abhijit

+0

получая что-либо на действия или ошибки раздела или в сети вкладке borwser? – Amir

+0

Ничего на вкладке сети, но на консоли я получаю сообщение об ошибке. Неопределенный лексема – Abhijit

0

Я думаю, что вы неправильно указываете DOM id. У вас, вероятно, есть это образование.

<div id="inputDiv"> 
Location <input type="text" id="myInput"><br> 
</div> 

В этом случае inputDiv = $('#inputDiv').val() будет отличаться inputDiv = $('#myInput').val()

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