使用ajax将JS变量转换为相同的php文件

时间:2017-04-15 13:10:05

标签: php jquery mysql json ajax

当我选择文件时,我正在使用jQuery提取lat

    document.getElementById("input-group").onchange = function(e)

    var liamlat = dec[1];

然后我将它发送到使用JSON的同一个php文件

var dataString = JSON.stringify(liamlat);

        $.ajax({
           url: 'addnew.php',
           data: {lat: dataString},
           type: 'POST',
           success: function(response) {
              alert('lat added');
           }
        });

在PHP中我使用btn_submit将liamlat发送到mysql,这是我点击时的按钮 “提交”

require_once 'dbconfig.php';


if(isset($_POST['btn_submit'])){



$username = $_POST['userName'];
$watervisibility = $_POST ['waterVisibility'];
$divinglocation = $_POST['divingLocation'];
$glat = json_decode($_POST['lat']);

在我的HTML中,我使用隐藏的形式来回应它

 <input class="form-control" type="text" name="latform" placeholder="Lat" value="<?php echo $glat->var; ?>" />

现在我希望将liamlat的数据插入到我的数据库中。

数据没有通过,我收到回复说:

未捕获的异常'PDOException',消息'SQLSTATE [23000]:完整性约束违规:1048列'lat'不能为空'

我不知道为什么数据不会通过json进入表单?

1 个答案:

答案 0 :(得分:0)

请在ajax函数中添加更多数据以发布数据;

$.ajax({
       url: 'addnew.php',
       data: {
            lat: dataString,
            btn_submit: 1,
            userName: 'username',
            waterVisibility: 'waterVisibility',
            divingLocation: 'divingLocation'
        },
       type: 'POST',
       success: function(response) {
          alert('lat added');
       }
});

请先阅读关于ajax的文件:

https://www.sitepoint.com/use-jquerys-ajax-function/

http://api.jquery.com/jQuery.ajax/