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

请忽略安全性,这是为了您的目的而伪造的。

4

2 回答 2

2

将您的附加数据组合formData成一个字符串。

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

$.ajax({
    url: args.url,
    data: formData,
    type: "POST",
    ...
})
于 2013-03-18T17:43:32.223 回答
0

我不太确定我是否很好地解决了你的问题,但我认为你正在将表单数据附加到 URL 并在 ajax 中使用 POST。

你能试一下吗

$_REQUEST["whatever"] 看看你得到了什么

编辑 看到commnets后,我想我现在明白了

 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

于 2013-03-18T17:17:35.480 回答