thắc mắc [js] lấy form data từ form submit

Hi các thím
Website có 1 form submit
Có cách nào grab đc các param hay form mà client (cụ thể là browser) gửi lên server hay ko ạ, các form này ko xài ajax nên tab network ko mò ra được ạ
Em dùng prevent default rồi cho nó gửi form thử nhưng ko nhận được response
Ko biết phen nào đã từng simulate đc cái form ko ạ
 
Form không xài ajax, vậy chắc form sau khi submit sẽ redirect về 1 thank you page rồi.

Vậy nhiều khả năng lỗi không gửi được lên server là do bạn không prevent được sự kiện load trang, để nó load trước khi script gửi data chạy.

Đừng quên event.stopPropagation() nhé

JavaScript:
const SUBMITBUTTON = document.querySelector("input[type='submit']");

SUBMITBUTTON.addEventListener('click',submitDataDemo);

function submitDataDemo(event) {

        event.preventDefault();
       
        sendData(data, callBackWhenServerResponse);
       
        event.stopPropagation();
    }
 
Form không xài ajax, vậy chắc form sau khi submit sẽ redirect về 1 thank you page rồi.

Vậy nhiều khả năng lỗi không gửi được lên server là do bạn không prevent được sự kiện load trang, để nó load trước khi script gửi data chạy.

Đừng quên event.stopPropagation() nhé

JavaScript:
const SUBMITBUTTON = document.querySelector("input[type='submit']");

SUBMITBUTTON.addEventListener('click',submitDataDemo);

function submitDataDemo(event) {

        event.preventDefault();
      
        sendData(data, callBackWhenServerResponse);
      
        event.stopPropagation();
    }
ok thanks thím để mình thử
nhưng mà hiện tại mình muốn check thử các param mà trang web hiện tại nó gửi xuống sv gồm những gì để mình mô phỏng lại ấy mà
 
Bạn bật tab network lên, check vào nút Preserve log rồi submit form thử. Xem cái request gửi đến server gồm những gì là được mà.
 
Bạn bật tab network lên, check vào nút Preserve log rồi submit form thử. Xem cái request gửi đến server gồm những gì là được mà.
ồ quên nói ở trên là bắt buộc phải chuyển trang thì sv nó mới gửi param về á nên trong network k thấy gì cả, preserve cả log và network đều k có gì hết
đơn giản nhất là thím thử dùng cái form search member trên voz nè sẽ thấy trong action k có id nhưng khi chuyển trang sv nó trả cái id lên á
 
1597218926536.png


Như mình thấy là lúc gõ query vào tìm kiếm, browser đã chạy ajax lấy các id kết quả từ server về rồi mà.

Mình vẫn chưa hiểu ý vấn đề của bạn lắm.
 
ồ quên nói ở trên là bắt buộc phải chuyển trang thì sv nó mới gửi param về á nên trong network k thấy gì cả, preserve cả log và network đều k có gì hết
đơn giản nhất là thím thử dùng cái form search member trên voz nè sẽ thấy trong action k có id nhưng khi chuyển trang sv nó trả cái id lên á

:oh::oh:
Điều đó không bao giờ xảy ra. Do ông bạn nghĩ thế thôi. :canny:
 
Chắc nó reload nên mất cái network. Thay vì chặn network sao không cài phần mềm bắt request như charles hay fiddler thì chắc bắt được
 
View attachment 149519

Như mình thấy là lúc gõ query vào tìm kiếm, browser đã chạy ajax lấy các id kết quả từ server về rồi mà.

Mình vẫn chưa hiểu ý vấn đề của bạn lắm.
Thím inspect cái form xong nhìn vào cái action á, xong thím chọn đại 1 kq rồi bấm submit sẽ thấy nó nhảy ra url khác nhe, cái mình muốn là gửi param thế nào để sv nó nhả lại cái id phía sau á, trong network k hề có
 
Thím inspect cái form xong nhìn vào cái action á, xong thím chọn đại 1 kq rồi bấm submit sẽ thấy nó nhảy ra url khác nhe, cái mình muốn là gửi param thế nào để sv nó nhả lại cái id phía sau á, trong network k hề có

Gửi param thế nào để server nhả lại cái id phía sau -> Như mình đã nói, ngay khi bạn type search thì form đã gửi ajax với với param là querystring của bạn lên server rồi. Server trả lại các kết quả, bao gồm username và id. Việc còn lại là xử lí với cái username và id đó thôi.

Như voz thì luồng sẽ là:

1. User gõ cụm từ tìm kiếm
2. Browser gửi request lên server, params là querystring
3. Server trả về username, id, token
4. User nhấn search
5. Browser gửi request lên server tại địa chỉ là cái action bạn bảo đó, params là token, username
6. Server trả về html, redirect 303 về địa chỉ search result có url chứa id
7. Việc còn lại browser thực hiện GET đến url search result sau khi redirect, kết quả là bạn action 1 kiểu, search result url 1 kiểu.

Đây là bước 6

1597285634883.png
 
Last edited:
Bình thường f12 tab network là đủ để xem rồi, case của thím tab network không thấy được thì có thể dùng burpsuite để capture lại các request lúc đó rồi xem request nó gửi lên là gì.
 
#11 dốc hết sức rồi đấy. Tab network mà không xem được các request giữa client với server thì khuyên thớt nên đổi người dùng.

via theNEXTvoz for iPhone
 
Đọc post trên của mình rồi tự reproduce issue thử xem nhé ông bạn
ý thìm là sau khi search nó trả về cái url https://voz.vn/search/515842/?q=DA&o=relevance này và cái số 515842 là cái id mà thím đang nói à? cái id đó không nhầm là user_id của mỗi người thôi. thím thay cái id ý bằng số bất kì cũng được, server nó sẽ tự trả về user_id của thím.
 
ý thìm là sau khi search nó trả về cái url https://voz.vn/search/515842/?q=DA&o=relevance này và cái số 515842 là cái id mà thím đang nói à? cái id đó không nhầm là user_id của mỗi người thôi. thím thay cái id ý bằng số bất kì cũng được, server nó sẽ tự trả về user_id của thím.
JD0FTwU.png


Đủ chưa? :doubt:
à cái này là search post mình đang tìm hiểu cơ chế search member

thanks thím DMC mình làm đc rồi, mở tab network mà mình filter cái XHR thành ra k thấy đc thằng action kia tự gạch :beat_shot:
 
nếu dùng PHP thì chắc chắn , sẽ gắn vào form 1 file vào attr action , sau đó thì $POST['input name'] để get value từng cái thôi fence :sexy: , còn xử lý tại chỗ thì phải dùng AJAX , get form thông qua value của input thế thôi :D
 
nếu dùng PHP thì chắc chắn , sẽ gắn vào form 1 file vào attr action , sau đó thì $POST['input name'] để get value từng cái thôi fence :sexy: , còn xử lý tại chỗ thì phải dùng AJAX , get form thông qua value của input thế thôi :D
cái vụ ajax thì mình k nói, bắt nó dễ mà, cái mình đang thắc mắc ở đây là khi redirect sv mới trả về id, mà làm sao để fake đc cái form đó gửi xuống mà k redirect vẫn lấy đc cái id sv trả về đó phen
 
server truyền thống nó không trả về data, mà trả về cookie.
đọc response header lấy cái set-cookie là xong.

nhớ là phải disable cái option là "follow redirect" trong cái lệnh POST request (code).
 
Back
Top