2016-11-19 136 views
2

我有一个简单的模态窗口,其中包含输入字段。我正在使用jquery ajax来验证以及使用php提交数据到数据库。 ajax请求显示状态代码200确定,但数据不会被插入,也不会执行成功功能。有没有人注意到任何错误?需要帮助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文件中,如果你得到任何东西G。我正在使用JWT,所以我在这里使用了JWT,令牌是我在其中存储令牌的变量

+0

我用这个 '$就 \t \t({ \t \t类型:“POST”, \t \t网址: “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()