簡體   English   中英

重寫此代碼,因為serialize()不起作用

[英]Rewrite of this code because serialize() doesn't work

我有這個ajax jquery代碼:

var form = document.getElementById('frm');
            var data_string = form.serialize();
            $.ajax({
                type:       "POST",
                url:        "my_php_file.php",
                data:       data_string,
                success:    function(data) {

                }//end success function
            }) //end ajax call

這是在一個名為ajax.js的外部文件中。

我將ajax.js包含在一個名為“show.html”的html文件中。 我還將jquery.js包含到show.html中

我已經嘗試使序列化工作,但代碼在執行序列化之前就被終止了。 我不知道為什么。 但我確信它是導致它的序列化。

是否可以對此進行一些簡單的修改,因此它不使用序列化?

謝謝

更新:

這段代碼(來自下面的答案)似乎也部分工作,當我提醒“表單”變量時,消息顯示“HTML表單對象”,因此它找到了表單。 然后當我提醒“data_string”變量時,消息顯示“frm = undefined”。

有什么想法嗎?

var form = document.getElementById('frm');
var data_string = $(form).serialize();

serialize()方法來自jQuery。 您的語句失敗,因為表單未包裝在jQuery中:

var form = $('#frm');
var data_string = form.serialize();

要么:

var form = document.getElementById('frm');
var data_string = $(form).serialize();

我的猜測是你使用getElementByID引用“傳統”DOM對象,而不是通過jQuery使用它(它將遍歷表單並添加信息)。 嘗試使用:

var data_string = $('#frm').serialize();

暫無
暫無

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

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