2016-05-09 9 views
0

mysqlに新しいユーザーを挿入しようとしています。 jQueryを使用しようとしましたが、動作していないようです。私は純粋なjavascriptを使用しようとしましたが、それは同じです。ボタンをクリックしても応答はありません。どうしましたか?ページを残さずにmysqlにフォームを挿入する方法(javascript + html)

var regBtn = document.getElementById("regBtn"); 
regBtn.addEventListener("click", submitForm, false); 

function submitForm() { 

    var acR = document.getElementById("ac2"); 
    var pw1 = document.getElementById("pw1"); 
    var shop = document.getElementById("shop"); 

    var http = new XMLHttpRequest(); 
    http.open("POST", "http://xyz.php", true); 
    http.setRequestHeader("Content-type","application/x-www-form-urlencoded"); 
    var params = "ac=" + acR + "&pw1="+pw1 "&shop="+ shop; 
    http.send(params); 
    http.onload = function() { 
     alert(http.responseText); 
    }; 
} 
+1

は '' send'呼び出し*前* onload'を設定してみてください。コンソールを確認してください - エラーメッセージはありますか? – CherryDT

+0

あなたは何がうまくいかないのかについて具体的にすることができますか?ブラウザのjavascriptコンソールにエラーが表示されていますか、PHPページ自体が失敗していますか? –

+0

最後のpw1の前にこの行に '+'がありません: 'var params =" ac = "+ acR +"&pw1 = "pw1;' - サンプルコードが正しいことを確認してください。問題かどうかは私が問題を解決したかどうかを確認してください。 –

答えて

1

は、私はここでそれを片付けやxyz.phpと呼ばれるページにローカルで実行しましたあなたのJSコードでかなりの数の問題があることは仕事にAJAX呼び出しを取得しますが、あなたが必要となりますので、私はChrome Dev Tools喜ん記録成功したAJAXを示すスクリーンショットを添付しました

var regBtn = document.getElementById("regBtn"); 
    regBtn.addEventListener("click", submitForm, false); 

    function submitForm() { 

     var acR = document.getElementById("ac2"); 
     var pw1 = document.getElementById("pw1"); 

     var http = new XMLHttpRequest(); 
     // removed the http:// protocol, assuming you're going for a local AJAX call 
     http.open("POST", "xyz.php", true); 
     http.setRequestHeader("Content-type","application/x-www-form-urlencoded"); 
     // get values of the form fields, don't submit the full element 
     // also added the plus (+) character before the final pw1 
     var params = "ac=" + acR.value + "&pw1=" + pw1.value; 
     http.send(params); 
     http.onload = function() { 
      alert(http.responseText); 
     } 
    } 

あなたのDBを持つ任意のヘルプを照会し得るためにあなたのPHPコードを投稿することが

chrome dev tools successfully logging ajax calls

を要求します10
+0

すべてが。私のような問題がある場合は、http://stackoverflow.com/questions/34807901/scp-security-content-policy-issue-with-pouchdbthx allを見てください。 –

0

JQueryの投稿を使用してください。

var acR = document.getElementById("ac2"); 
var pw1 = document.getElementById("pw1"); 

$.post("xyz.php", { ac: acR, pw1: pw1 }) 
.done(function(data) { 
    alert("Data inserted: " + data); 
}); 

バックエンドが(表現)NodeJsに例えば挿入アクションを実装し、このポストを処理し、

app.post("/xyz", function(req, res, next) { 
    var obj = {}; 
    obj[acR] = body.ac; 
    obj[pw1] = body.pw1; 
    mysql.insert(obj); 

}); 
関連する問題