0

jQuery ではなく JavaScript プレーン経由で送信するには... サーバーへの ajax JSON リクエスト タイプ = POST(安全なログイン リクエスト) は Web フォームが必要ですか?

Webフォームなしでどうやってそれを行うのですか... JSON送信文字列varをどこに置き、どのように/何をphpに入れるのですか?

ajax3.send(jsonStringhere); // ??? どのようにphpで取得しますか???

function loginProcess() {
var userID = document.getElementById( "name" ).value;
var email = document.getElementById( "email" ).value;
var password = document.getElementById( "password" ).value;

ajax3 = new XMLHttpRequest();

//1st way
ajax3.open("GET","loginProcess.php?userID="+userID+"&email="+email+"&password="+password,false); 
ajax3.addEventListener("readystatechange", processResponse, true); 
ajax3.send();

changeDisplay("loginRegisterDiv");


//2nd way JSON post type here

//???

}
4

1 に答える 1

2

そのような機密情報を URL (GET) 経由で送信するべきではありません。

人々は URL を共有することが多く、個人情報が隠されることを望まないでしょう。

Web フォームをシミュレートするには、POST 要求を送信してみてください。JSON をクエリ属性に入れます。

var ec = window.encodeURIComponent,
    queryStr = "userID=" + ec(userID) + "&email=" + ec(email) + "&password=" + ec(password) + "&json" + ec(JSON.stringify(yourJson)),
    ajaxReq = new XMLHttpRequest();

ajaxReq.open("POST", "loginProcess.php", false);  // Should really be 'true' for asynchronous...
ajaxReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');  // Important!
ajaxReq.send(queryStr);
于 2012-12-28T20:59:02.557 に答える