Jquery$ajax POST数据并获得响应mysqli_insert_id


Jquery $ajax POST data and get a response mysqli_insert_id

我正在使用Jquery中的$.ajax将数据发布到PHP页面。到目前为止,一切都很顺利。

以下是我的index.html.中的所有内容

function send() {
  $( "#send" ).show( "slow" );
var page = Page;
var title = $("#title").text();
var title_2 = $("#title_2").val();
$.ajax({
    url: "save.php",
    method: "POST",
    data: { MyPage : page, My_Title1 : title, My_Title2 : title_2 },
    dataType: 'json',
    success: function(data) {
        alert(data);
        var result = jQuery.parseJSON(data);
        alert(result.last_id);
    },
    error: function(output) {
    alert("not working whole process");
    }
});

总结一下我正在做的事情,就是将一些数据(Html和div中的内容)发送到sql数据库。

我现在想做的是,一旦这些数据被发布到save.php文件,我就会收到php的响应,向我发送我保存了所有这些的页面的ID。所以我使用mysqli_insert_id($con);来实现这一点。

设置它看起来像这样。

$last_id = mysqli_insert_id($con);

当我执行所有这些时,Post运行良好,我最终得到了我想要的。{"last-id":265}在我的帖子末尾。

$data['last id'] = $last_id;
echo json_encode($data);

如何将此值返回到index.html,以便将其放置在输入中。成功没有成功。

//回复Stevens的答案

@史蒂夫。谢谢你的回答。你的答案正是正在发生的事情。我正在向save.php文件发送一大堆html,以便它可以将其保存到sql表中。像这样的东西。

Write to MySQL OK!<br>INSERT INTO Project(ID_User,Name_Project,Page_Project,Date_Project) VALUES ( 110, ''"Project name here'"', '<div class='"file_save_container'"> <------------- HERE THERE IS A WHOLE BUNCH OF HTML ------------> </div>'n'n'n', '2015-03-19 13:10:23');<br>

这一切都正确地保存到了我的sql表中。我想在这里实现的是,当ajax被发送到我的save.php时,我会收到一个响应,向我发送新创建的项目的id,这样我就可以将响应"id"放在中。现在mysqli_insert_id将把这个放在我文章的末尾。

<br>{"this_id":"311"}

这是我想得到的对index.html文件的回应,而不是在我的帖子末尾。

尝试在save.php 中设置header('Content-Type: application/json');

编写$data['last_id']而不是$data['last id']以匹配JS。