Về dòng này:Dữ liệu bài đăng ajax có cần phải được mã hóa URI không?
var data = encodeURIComponent(JSON.stringify(object_literal));
Tôi không hiểu tại sao điều này đang được URI được mã hóa.
Dữ liệu sau sẽ được gửi qua ajax POST
.
Tôi hiểu rằng URL, đặc biệt là một trong những bạn có thể thấy trong thanh địa chỉ trình duyệt yêu cầu ký tự đặc biệt như đã mô tả ở đây:
http://www.blooberry.com/indexdot/html/topics/urlencoding.htm
Nhưng những gì chính xác này có liên quan gì với Ajax gửi bài?
Làm cả thanh địa chỉ url và bài đăng ajax nội bộ đều sử dụng cùng một cơ chế?
Dữ liệu bài đăng được gửi trong phần nội dung của yêu cầu http và nhận dữ liệu được nối vào URL, do đó cơ chế khác nhau. Tại sao bạn cho rằng dữ liệu bài đăng cần phải được mã hóa uri? Dường như nó không phải là ... http://jsfiddle.net/DXWqX/ – nbrooks
Điều đó đúng cho các yêu cầu nhận được, phải được mã hóa URI. Yêu cầu nhận được là những gì trình duyệt của bạn thực hiện khi bạn nhập URL. Tất cả những gì nó làm là nối thêm dữ liệu vào url dưới dạng tham số truy vấn 'url? Param1 = value1 & param2 = value2'. Yêu cầu đăng không làm điều đó. – nbrooks