いくつかの助けを借りて、ユーザーをデータベースに追加する前にユーザーのパスワードを検証して確認するフォームを作成しました。Uncaught SyntaxError:JSONの位置0の予期しないトークン
at Object.success (confirm3.php:29)
は、この次の行に
var data = JSON && JSON.parse(response) || $.parseJSON(response);
を参照しているエラーを
Uncaught SyntaxError: Unexpected token in JSON at position 0
at JSON.parse()
at Object.success (confirm3.php:29)
at i (jquery.min.js:2)
at at A (jquery.min.js:4)
at XMLHttpRequest. (jquery.min.js:4)
:私は、ユーザーのデータが送信されないよう、いくつかの問題が発生したため、私に次のエラーを与えていますPOST変数
$UserNm=$_POST["UserNm"];
$UserId=$_POST["UserId"];
$UserPwd=$_POST["UserPwd"];
明確にするために、返されるデータは、ストアドプロシージャから取得される$ReturnMessage
です。 $ReturnMessage
は、正常動作と異常動作の両方の動作のステータスを表示します。
$ReturnMessage
の例:
"USER ID EXIST. (011 CODE)."
"USER ID MINT20 ADDED."
POSTメソッドが使用されます。if(isset($_POST['Submit'])) {
$ ReturnMessage:
if(isset($ReturnStatus) && $ReturnStatus==1) {
$ReturnMessage=odbc_result($stmt,'ReturnMessage');
}
}
$ReturnMessage = utf8_encode ($ReturnMessage);
echo json_encode($ReturnMessage);
}
スクリプト:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
$("#myForm").on("submit", function(e) {
e.preventDefault();
var password = $("#UserPwd").val();
var confirmPassword = $("#ConfirmPassword").val();
console.log(password,confirmPassword)
if ($.trim(password) === password &&
password !== "" &&
password === confirmPassword) {
$.ajax({
url: "confirm3.php",
method: "POST",
data: { Submit: "true" },
success: function(response) {
var data = JSON && JSON.parse(response) || $.parseJSON(response);
alert(data);
}
});
} else {
alert("Please Enter Password Correctly");
}
});
});
<script>
私は混乱しています。私を案内してください。ありがとうございました。
あなたが表示する '$ ReturnMessage'の例の値はオブジェクト/配列ではない文字列であるようですが、なぜ' json_encode'を呼び出すのですか? JS内で 'var data = ...'行と 'alert(response)'だけを削除するとどうなりますか? – nnnnnn
あなたは文字列を返しています – guradio
私はそれらを置き換えました。何が起こったのか私のフォームの一部のhtmlと 'xdebug-error'のいくつかのhtmlに' undefined index'のエラーを含むポップアップが出てきました。 @nnnnnn –