[英]Jquery serialize and passing in other custom post data
function DoAjax( args )
{
var formData = "?" + $("form[name=" + args.formName + "]").serialize();
$.ajax({
type: "POST",
url: args.url + formData,
data: {
request: args.request
},
success: function (data) {
alert(data);
args.callback.html(data);
},
error: function (a, b, c) {
alert("error: " + a + ", " + b + ", " + c + ".");
}
});
return false;
}
我需要将自定义数据传递到名为“ request”的php脚本中,该脚本将指示要在php页面上运行的进程...但是我还想序列化表单上的任何其他表单字段。 这是正确的方法吗(将序列化添加到URL的末尾)是因为我似乎无法从PHP $ _POST [“ whatever”]中获得任何东西
编辑:::///
<?php
$request = $_POST[ "request" ];
if( isset( $request ) )
{
require_once( "includes.php" );
function LogInWithClientCred()
{
$username = CheckIsset( "username" );
$password = CheckIsset( "password" );
echo $_REQUEST["username"];
echo $_GET["username"]; // echos correctly the username.. but I want it to be post data instead!
请忽略安全性,因为它是伪造的。
将formData
和其他数据合并为一个字符串。
var formData = $("form[name=" + args.formName + "]").serialize() + "&request=" + args.request;
$.ajax({
url: args.url,
data: formData,
type: "POST",
...
})
我不太确定如果我的问题很好,但是我认为您是将表单数据附加到URL并在ajax中使用POST。
你能试一下吗
$ _REQUEST [“ whatever”]以查看您得到了什么
编辑看到通讯之后,我想我现在明白了
function DoAjax( args )
{
var formData = $("form[name=" + args.formName + "]").serialize();
$.ajax({
type: "POST",
url: args.url,
data: {
request: args.request,
formData:formData
},
success: function (data) {
alert(data);
args.callback.html(data);
},
error: function (a, b, c) {
alert("error: " + a + ", " + b + ", " + c + ".");
}
});
return false;
}
现在$ _POST [formData]应该可以工作了
编辑也看到这个
github.com/maxatwork/form2js
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.