将参数从jquery传递给php

And*_*eba 0 php mysql ajax jquery

我有这个jquery脚本

$(function() { // <----doc ready starts
    $("#btn1").click(function(e) {
        e.preventDefault();
        var name = $("#id1").val(); 
        var last_name = $("#id2").val();
        var dataString = {'name=':name, 'last_name': last_name};
        $.ajax({
            type: 'POST',
            dataType: 'jsonp',
            url: 'http://localhost/insert.php',
            success: function(data) {
                alert(data);
            }
        });
    });
});
Run Code Online (Sandbox Code Playgroud)

而这个php从第一个脚本插入参数到mysql数据库:

<?php
    $conn = mysqli_connect('localhost', 'root', '');
    $name = $_POST['name'];
    $last_name = $_POST['last_name'];
    $mysqli = new mysqli('localhost','root','','os');

    if ($mysqli->connect_error) {
        die('Error : ('. $mysqli->connect_errno .') '. $mysqli->connect_error);
    }
    $insert_row = $mysqli->query("INSERT INTO table_info (name, name2) VALUES($name, $last_name)");

    if ($insert_row){
        print 'Success! ID of last inserted record is : ' .$mysqli->insert_id .'<br />'; 
    }
    else {
        die('Error : ('. $mysqli->errno .') '. $mysqli->error);
    }
    $mysqli->free();
    $mysqli->close();
?>
Run Code Online (Sandbox Code Playgroud)

当我试图运行它时,它失败并出现该错误:

注意:未定义的索引:第3行的C:\ wamp\www\insert.php中的名称
注意:未定义的索引:第4行的C:\ wamp\www\insert.php中的last_name
错误:(1064)您有错误你的SQL语法; 检查与您的MySQL服务器版本对应的手册,以便在第1行的')'附近使用正确的语法

这里有什么问题,对不起愚蠢的问题,这是我第一次使用php和jQuery.

Ror*_*san 6

您没有将您的dataString变量提供给AJAX调用,因此不会发送任何数据.您需要在以下data属性中添加它$.ajax:

$("#btn1").click(function(e) {
    e.preventDefault();
    var name = $("#id1").val(); 
    var last_name = $("#id2").val();
    var dataString = { 'name': name, 'last_name': last_name };

    $.ajax({
        type: 'POST',
        dataType: 'jsonp',
        url: 'http://localhost/insert.php',
        data: dataString,
        success: function(data) {
            alert(data);
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

请注意,我还修复name=了对象定义中的拼写错误.