簡體   English   中英

使用jQuery Ajax傳遞數據?

[英]Passing data using jQuery Ajax?

我有下面的HTML頁面:

<!DOCTYPE html>
<html lang="en">
    <head>

        <title>HTML</title>

        <script src="http://code.jquery.com/jquery-latest.min.js"></script>

        <script>
            $(document).ready(function() {
                $("#b1").click(function(event) {
                    $.ajax({
                        type : "POST",
                        url : "index.php",
                        data : "valx=2",
                        contentType : "application/x-www-form-urlencoded",
                        dataType : "text",
                        complete : function() {
                            alert('post completed');
                        },
                        error : function() {
                            alert('error condition');
                        },
                        success : function(data) {
                            $('.result').html(data);
                            alert('data is returned');
                        },

                        statusCode : {
                            200 : function() {
                                alert("page was found");
                            }
                        }

                    });
                    event.preventDefault();
                });
            });
        </script>
    </head>

    <body>
        <div>
            <button id="b1">
                Click Me!
            </button>
        </div>
        <div class="result"></div>

    </body>
</html>

然后,我有以下php頁面:

<?php
     $my_string =  $_REQUEST["valx"]; 
     $my_string = $my_string +9;
     echo $my_string;
?>

一切都按原樣完美運行,但是我試圖弄清楚如何將發布數據更改為表單:

 data: '{ valx:"2"}'

這就是它的壞處。 我嘗試了多種形式的數據:'{valx:“ 2”}'仍然沒有運氣。 似乎php腳本無法正確獲取數據。 另請注意,使用這種格式似乎也需要更改contentType : "application/x-www-form-urlencoded",

因此,問題是如何傳遞表單data: '{ valx:"2"}'並返回11的響應?

謝謝,吉姆

data參數接受var=value&var1=value1形式, 帶有鍵/值的JavaScript對象。 您已經給了它,這是一個字符串...

data: '{ valx:"2"}`

...當您應該給它一個真實的JS對象時:

data: { valx:"2"}

使用對象而不是字符串。 jQuery會將對象解析為表單編碼格式。 還要完全刪除contentType選項,因為這不是要發送的數據類型,而是用於接收的數據,您將接收text / html

 data : { valx:"2"},

暫無
暫無

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

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