jquery 序列化和 $.post [英] jquery serialize and $.post

查看:30
本文介绍了jquery 序列化和 $.post的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用 jQuery 中的 $.post 方法从表单发送大量数据.我首先使用 serialize() 函数将所有表单数据制作成一个长字符串,然后我将在服务器端爆炸.奇怪的是,当我尝试使用 $.post 发送它时,它会将 serialize() 的结果附加到 URL 中,就像我使用 GET 发送它一样.任何人都知道为什么会发生这种情况?

这是jquery:

$("#addShowFormSubmit").click(function(){var perfTimes = $("#addShowForm").serialize();$.post("includes/add_show.php", {name: $("#showTitle").val(), results: perfTimes }, function(data) {$("#addShowSuccess").empty().slideDown("slow").append(data);});});

这是php:

$show = $_POST['name'];$results = $_POST['results'];$perfs = expand("&", $results);foreach($perfs 作为 $perf) {$perf_key_values = expand("=", $perf);$key = urldecode($perf_key_values[0]);$values = urldecode($perf_key_values[1]);}回声 $key, $values;

解决方案

如果您使用 不同.它只是一个普通的按钮,不会提交表单(除非你故意让它通过 JavaScript 提交表单).

并且在 form 元素没有指定 action 属性的情况下,此提交只是将数据发送回同一页面.因此,您最终会看到页面刷新,以及 URL 中出现的序列化数据,就好像您在 ajax 中使用了 GET 一样.

可能的解决方案

1 - 使

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆