Jquery序列化并传入其他自定义发布数据

时间:2013-03-18 17:11:12

标签: php javascript jquery ajax post

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;       
}   

我需要将一个自定义位数据传递给我的php脚本,名为“request”,这将表示在php页面上运行哪个进程...但我还想序列化我表单上的任何其他表单字段。这是正确的做法(将序列化添加到URL的末尾),因为我似乎无法从我的PHP $ _POST中获取任何内容[“无论如何”]

EDIT ::: ///

<?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!

请忽略安全性,它是伪造的。

2 个答案:

答案 0 :(得分:2)

formData和您的其他数据合并为一个字符串。

var formData =  $("form[name=" + args.formName + "]").serialize() + "&request=" + args.request;

$.ajax({
    url: args.url,
    data: formData,
    type: "POST",
    ...
})

答案 1 :(得分:0)

我不太确定如果我的问题很好,但我认为您将表单数据附加到URL并在ajax中使用POST。

你能试试吗

$ _ REQUEST [“不管”],看看你得到了什么

修改 看到通信后我觉得我现在得到了它

 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