2011-12-25 26 views
7

tôi đã tự hỏi nếu nó có thể truyền dữ liệu được lưu trữ trong một mảng javascript để các máy chủ sử dụng chức năng ajax jQuery ..truyền dữ liệu trong mảng javascript tới máy chủ với chức năng đăng bài jQuery.ajax?

Trong tài liệu hướng dẫn jQuery nó chỉ rõ:

$.ajax({ 
    type: 'POST', 
    url: url, 
    data: data, 
    success: success, 
    dataType: dataType 
}); 

thể "dữ liệu" được thiết lập để một mảng? Làm thế nào điều này sẽ làm việc cho nó có vẻ như dữ liệu được mong đợi cặp giá trị quan trọng? Tôi đang hiện chỉ cứng các giá trị nhưng tôi muốn nó được một mã hiện approach..my năng động hơn là:

jQuery.ajax({ 
      url: "/createtrips/updateitin", 
      type: 'POST', 
      data: {place1: 'Sydney', place2: 'London'}, 
      dataType: 'json', 
      }); 

Trả lời

8

Tôi tạo ra một mảng như thế này:

var placesfortrip = {}; 

sau đó thêm vào nó như thế này:

placesfortrip["item"+counter] = inputVal; 

(nơi counter là một biến truy cập tăng lên) sau đó phân công này đến data tài sản của các cuộc gọi ajax

jQuery.ajax({ 
      url: "/createtrips/updateitin", 
      type: 'POST', 
      data: placesfortrip, 
      dataType: 'json', 
      }); 

và nếu tôi nhìn vào tab XHR trong firebug nó xuất hiện những giá trị được đăng!

2

Vâng, jQuery.ajax() hỗ trợ sự ra đi của mảng. Nó đơn giản serializes mảng thành một chuỗi giá trị tên.

Nếu giá trị là một mảng, jQuery nối tiếp nhiều giá trị với cùng một khóa dựa trên giá trị của thiết lập traditional (được mô tả bên dưới).

0

Tôi tin rằng bạn muốn xem xét sử dụng JSON để chuyển các giá trị đó.

This is a good place to start

+0

Tôi đã tạo một mảng như sau: – Rowan

0

Check-out jQuery serialize: http://api.jquery.com/serialize/

$('form').submit(function() { 
    alert($(this).serialize()); 
    return false; 
}); 
This produces a standard-looking query string: 

a=1&b=2&c=3&d=4&e=5 
+0

Bạn có ví dụ không? Nó dường như không hỗ trợ serialize (?) – Rowan

Các vấn đề liên quan