2012-03-01 27 views

Trả lời

33

Không thể thực hiện được - AFAIK.

Tuy nhiên bạn có thể sử dụng jquery ví dụ (mặc dù bạn có thể làm điều đó với javascript đơn giản) để tuần tự hóa biểu mẫu và gửi (sử dụng AJAX) trong khi thêm tiêu đề tùy chỉnh của bạn.

Nhìn vào jquery serialize thay đổi MẪU HTML thành form-url-encoded giá trị sẵn sàng cho POST.

CẬP NHẬT

Đề nghị của tôi là bao gồm một trong hai

  • một biểu mẫu ẩn số yếu tố
  • một chuỗi truy vấn
+1

Tôi không thể sử dụng ajax trong trường hợp này. Bằng cách nào đó, tôi đăng bài và chuyển hướng đến một trang aspx. Chuyển hướng được thực hiện bởi From Post. –

+1

Đề xuất của tôi là bao gồm 1) thành phần biểu mẫu ẩn 2) tham số chuỗi truy vấn – Aliostad

+1

Bạn có thể tuần tự hóa tệp không? Tôi nghĩ: Không. – Fallenreaper

1

Bạn có thể sử dụng $ .ajax để tránh những hành vi tự nhiên của <form method="POST">. Ví dụ: bạn có thể thêm sự kiện vào nút gửi và xử lý yêu cầu POST là AJAX.

+1

Tôi sử dụng biểu mẫu này để gửi * chuyển hướng * đến trang aspx và đăng một số dữ liệu. –

+0

làm cho tôi hiểu rõ hơn: 1) bài đăng của người dùng 2) lưu dữ liệu 3) chuyển hướng. Đó là những gì bạn làm? –

+0

Tôi đã nhập iFrame vào trang Html (Nguồn), trỏ đến một trang html (Proxy) khác. Trang proxy đăng một số tham số (No Get) qua phần tử biểu mẫu. Chuyển hướng và đăng bài sẽ xảy ra khi gửi biểu mẫu. Tôi lấy thông số được đăng trong trang aspx làm đích. –

10

Đặt giá trị cookie trên trang và sau đó đọc nó trở lại phía máy chủ.

Bạn sẽ không thể đặt tiêu đề cụ thể, nhưng giá trị sẽ có thể truy cập được trong phần tiêu đề chứ không phải nội dung nội dung.

3

Từ FormData documantion:

XMLHttpRequest Level 2 bổ sung hỗ trợ cho giao diện FormData mới. Các đối tượng FormData cung cấp một cách dễ dàng xây dựng một tập hợp các cặp khóa/giá trị đại diện cho các trường biểu mẫu và các giá trị của chúng, sau đó có thể dễ dàng được gửi bằng phương thức XMLHttpRequestsend().

Bạn có thể đặt tiêu đề tùy chỉnh và sau đó thực hiện POST.

1

Dưới đây là những gì tôi đã làm trong pub/ngọc

extends layout 
block content 
    script(src="/jquery/dist/jquery.js") 
    script. 
     function doThePost() { 
     var jqXHR = $.ajax({ 
      type:'post' 
      , url:<blabla> 
      , headers: { 
       'x-custom1': 'blabla' 
       , 'x-custom2': 'blabla' 
       , 'content-type': 'application/json' 
      } 
      , data: { 
       'id': 123456, blabla 
      } 
     }) 
     .done(function(data, status, req) { console.log("done", data, status, req); }) 
     .fail(function(req, status, err) { console.log("fail", req, status, err); }); 
     } 
    h1= title 
    button(onclick='doThePost()') Click 
1

Trong thực tế một cách tốt hơn để làm điều đó để cứu một cookie trên các mặt hàng. Sau đó, cookie được tự động gửi với mọi tiêu đề trang cho tên miền cụ thể đó. ví dụ, trong nút-js, bạn có thể đặt một cookie theo cách này:

res.cookie('token', "xyz....", { httpOnly: true }); 

Bây giờ bạn có thể truy cập vào đây:

app.get('/',function(req, res){ 
var token = req.cookies.token 
}); 

Lưu ý rằng httpOnly:true đảm bảo rằng cookie thường là không thể truy cập bằng tay hoặc thông qua javascript và chỉ trình duyệt mới có thể truy cập nó. Nếu bạn muốn gửi một số tiêu đề hoặc mã thông báo bảo mật với một biểu mẫu, và không phải thông qua ajax, trong hầu hết trường hợp, điều này có thể được coi là một cách an toàn. Mặc dù đảm bảo rằng dữ liệu được gửi qua giao thức/ssl an toàn nếu bạn đang lưu trữ một số thông tin liên quan đến người dùng nhạy cảm thường xảy ra.

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