AjaxにおいてWebサーバーからのJSONデータをJSON.parse()により変換しているコードですが以下のエラーがでており機能しません。
JSONデータが文字列として返されているのになぜJSON.parse()する必要があるのか、そしてこのエラーはなぜでるのでしょうか。
ご教授いただけたらと思います。
Uncaught SyntaxError: Unexpected token W in JSON at position 0
lang
1<!DOCTYPE html> 2<html> 3<head> 4 <meta charset="utf-8" /> 5 <title>Ajax Level2 practice</title> 6</head> 7<body> 8 9 <script type="text/javascript"> 10 11 function requestSend(){ 12 var request = new XMLHttpRequest(); 13 request.onload = function(){ 14 if(request.status == 200){ 15 var obj = JSON.parse(request.response); 16 document.getElementById("msg1").textContent = "User Name: " + obj.name; 17 document.getElementById("msg2").textContent = "Password: " + obj.password; 18 } 19 }; 20 request.open("POST", "http://192.168.33.10:5000/serverSide.php", true); 21 request.responseType = "text"; 22 var formData = new FormData(document.getElementById("frm")); 23 request.send(formData); 24 } 25 26 27 document.addEventListener("DOMContentLoaded", function(){ 28 document.getElementById("btn").addEventListener("click", requestSend, false); 29 }, false); 30 31 </script> 32 33 <h3 id ="h3">input page</h3> 34 <p>Please input user name and password</p> 35 <p id ="msg1">----</p> 36 <p id ="msg2">----</p> 37 <form id="frm"> 38 <p><input type="text" id="name" name="name" /></p> 39 <p><input type="password" id="pass" name="password" /></p> 40 </form> 41 <p><button id="btn">Load</button></p> 42 43</body> 44</html> 45
サーバーサイド
lang
1<?php 2 3 $nm = $_POST["name"]; 4 $ps = $_POST["password"]; 5 print "{\"name\":\"" . $nm . "\",\"password\":\"" . $ps . "\"}"; 6 7 ?> 8
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/06/03 22:30