私はこれをあまりにも長い間見つめてきましたが、何が悪いのかわかりません。javascript で jquery フォームからフォーム データを取得し、それを mysql サーバーに投稿する php ページに送信しようとしています。これが私のコードです:
「index2.html」(フォームページのみ)
<title>Login Test</title>
</head>
<body>
<div data-role="page">
<div data-role="header">
<h1>Login</h1>
</div>
<div data-role='content'>
<form id="testform" action="/ajaxtest/userInfo2.php">
<label for="name" class="ui-hidden-accessible">Name:</label>
<input type="text" name="usr" placeholder="Username"/>
<label for="password" class="ui-hidden-accessible">Age :</label>
<input type="text" name="age" placeholder="Password"/>
<button id="sub">Submit</button>
</form>
</div>
</div>
</body>
次は「index2.html」にちゃんと入っている「my_script.js」
$("#sub").click( function() {
event.preventDefault();
$.post( "/ajaxtest/userInfo2.php",
$.(#testform).serializeArray()
);
});
最後に、テーブルにデータを送信する php ページである「userInfo2.php」
<?php
$conn = mysql_connect('localhost', 'root', 'root');
$db = mysql_select_db('myDatabase');
$name = $_POST['usr'];
mysql_query("INSERT INTO ajaxtest (name) VALUES ('$name')");
?>
私のテーブルには「名前」という 1 つのフィールドしかないことに注意してください。私はただ一つの分野を機能させ、それから拡大を続けようとしていた. これをテストしようとするたびに、userInfo2.php ページに「未定義」と出力され、テーブルに空白の名前が挿入されます。
POSTと同じ変数を取得するためにPHPにGET行を投げてみましたが、うまくいきました。テーブルに正しい名前を追加しましたが、まだ「未定義」と出力されていました。ただし、それでも POST を機能させたい...
私が見落としていた小さなものであることを本当に願っていますが、助けてくれてありがとう!