簡體   English   中英

通過jquery ajax將數組傳遞給php

[英]Passing an array through jquery ajax to php

我試圖使用serializeArray()將表單輸入轉換為jquery內部的數組(輸入名稱為鍵,值作為值)...然后使用post方法通過$ jquery.ajax ..將其傳遞給php腳本。

$(function () {
    $("#xbut").click(function () {
        var values = {};
        $.each($(':input').serializeArray(), function (i, field) {
            values[field.name] = field.value;
        });
        $.ajax({
            type: "POST",
            url: 'ajax/NewClient.php',
            data: {
                clientdata: values
            },
            success: function (data) {
                alert(data);
            }
        });
        return false;
    });
});

我昨晚做了這個工作...但是做了一些更改,現在無法還原。 當我將數組轉換用於數據時...我在NewClient.php中找不到$ _POST ['clientdata']。.只是未定義。 如果我將ajax數據更改為字符串...我可以找到我發布的任何內容。

有任何想法嗎?

我很確定

.serializeArray()

應該

.serialize()

$(function() {
    $("#xbut").click(function() {
        var values = {}; 

        $.ajax({
            type: "POST",
            url: 'ajax/NewClient.php',
            data: { clientdata : $(":input").serialize() },
            success: function(data){
                alert(data);
            }
        });
    return false;
    });
});

我已經測試了您的腳本,它似乎可以正常工作-

<!DOCTYPE html>
<html lang="en">
    <head>
        <script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <script>
        $(function() {
            $("#xbut").click(function() {
                var values = {};
                $.each($(':input').serializeArray(), function(i,field){
                    values[field.name] = field.value; 
                }); 
                $.ajax({
                    type: "POST",
                    url: 'PHPPage3.php',
                    data: { clientdata : values },
                    success: function(data){
                        alert(data);
                    }
                });
            return false;
            });
        });
    </script>
    <body>
    <input type="text" name="tester"/>     
    <input type="button"  value="x" id="xbut"/>   
    </body>
</html>

然后“ PHPPage3.php”是-

<?php
    echo $_POST['clientdata']['tester'];
?>

單擊第一頁上的按鈕后,“測試器”字段中的值將被提醒。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM