Tôi cần phải tuần tự hóa tất cả các yếu tố đầu vào từ một biểu mẫu thành chuỗi JSON.
Với sự giúp đỡ của this post, tôi thành công có thể tạo ra một chuỗi giá trị như sau:jQuery: Cách dừng chuỗi AJAX thoát JSON chuỗi được sử dụng để POST dữ liệu
{"input01":"value01","input02":"value02","input03":"value03"}
Tuy nhiên, khi tôi cố gắng sử dụng chuỗi để gửi dữ liệu sử dụng chức năng Ajax jQuery, có vẻ như để thêm dấu xồ nguợc vào chuỗi , dẫn đến chuỗi JSON được gửi bằng GET chứ không phải POST. Trang PHP nạp trả về một mảng $_GET
của:
[{\"input01\":\"value01\",\"input02\":\"value02\",\"input03\":\"value03\"}] =>
Tôi đã thử nghiệm chuỗi JSON sử dụng alert()
để xác nhận cấu trúc là đúng trước khi được sử dụng trong hàm AJAX.
Ngoài ra, nếu tôi chỉ nhập chuỗi JSON hợp lệ theo cách thủ công, AJAX sẽ đăng dữ liệu chính xác.
Mã của tôi là như sau:
var dataJSON = $.toJSON($('#form').serializeObject());
alert(dataJSON);
$.ajax({
type: "POST",
url: "ajax.php",
data: 'Query01=01&Query02=02',
dataType: 'json',
success: function(data){
if (data==1){
$('#wrap').load('ajax.php',dataJSON);
}
}
});
Bạn đang gọi điện thoại '.ajax() ', sau đó làm cho một yêu cầu ajax với' .load() '. Đúng không? –
Roatin, đó là chính xác. Ví dụ trên được đơn giản hóa từ tập lệnh thực tế của tôi. Tập lệnh thực tế đăng dữ liệu bằng cách sử dụng $ .ajax cần được xác thực, nếu được xác thực thành công, hàm $ .load tải HTML được tạo từ dữ liệu được đăng bởi chuỗi JSON. – ticallian