gpt4 book ai didi

php - 无法获取 Ajax 更新表单以使用反序列化

转载 作者:行者123 更新时间:2023-11-30 22:12:32 25 4
gpt4 key购买 nike

我正在尝试整理一个表单的工作演示(包括 mysql),该表单使用 jquery 序列化表单数据并使用 php 检索数据,以便可以将其传递给 mysql 查询。

表单似乎正确地发布了数据,但我不确定如何设置看到 $_POST 的处理脚本来反序列化数据,以便我可以将其传递给 mysql。您可以在 http://www.dottedi.biz/demo/code/ajax/serialize 查看演示.

我试过使用:

$data=unserialize($_POST['data']);

反序列化数据,但返回时是空的。一个简单的 print_r ($_POST);从表单返回数组数据。如果您测试演示,您会看到这一点。请提出建议?


添加信息 - script.js 文件的内容:

$(document).ready(function() {
$('form').submit(function(evt) {
evt.preventDefault();
$.each(this, function() {

var input = $(this);
var value = input.val();
var column = input.attr('name');
var form = input.parents('form');
var linked_col = form.find('#associated').attr('name');
var linked_val = form.find('#associated').val();

// var serializedData = $(this).serialize();

$("#Status").html( "" );

$.ajax({
url: "update.php",
data: {
val: value,
col: column,
id: linked_col,
id_val: linked_val
},
type: "POST",
success: function(html) {
$("#Status").html( html );
}

});
});
});
});

9/22 - 缩短的 script.js

$(document).ready(function() {
$('form').submit(function(evt) {
evt.preventDefault();
$.each(this, function() {

$("#Result").html( "" );

$.ajax({
url: "update.php",
data: $('form').serialize(), // works to post data
type: "POST",
success: function(html) {
$("#Result").html( html );
}

});
});
});
});

评论 - 我测试过,似乎使用 serialize 发布的数据与创建 var serializedData = $(this).serialize() 之类的变量并发布变量的数据相同,但这更短。

最佳答案

也许你应该

$('form').submit(function(evt) { 
// Serialize the data in the form
var serializedData = $(this).serialize();
//send off serializedData in your ajax
}

然后

php脚本会有

$data=json_decode($_POST['data']);

新方式

  $.ajax({
url: "update.php",
data: {'data': $('form').serialize()}, // works to post data
type: "POST",
success: function(html) {
$("#Result").html( html );
}

关于php - 无法获取 Ajax 更新表单以使用反序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39604513/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com