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

时间:2015-03-19 11:33:48

标签: php jquery ajax

我使用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);

当我执行所有这些时,帖子工作正常,我最终得到了我想要的东西。 我的帖子结束时{"姓id":265}。

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

如何将此值恢复到 index.html ,以便将其放入输入中。成功并没有成功。

// 回复Steves回答

@史蒂夫。谢谢你的回答。你的答案正是正在发生的事情。我正在向我的 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,以便我可以放置响应&#34 ; id&#34;在里面现在mysqli_insert_id将此放在我的帖子的末尾。

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

这是我想要回复我的 index.html 文件,而不是在我的帖子末尾。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

$data['last_id']代替$data['last id']以匹配您的JS。