最近勉強を始めたものです。
今ajaxを使ってフォームの入力内容をpostで送信してPHPで処理。その処理した変数をajax内の通信成功時にdoneの中で使う。というような流れを作っています。
今のところ、ajax通信自体は上手くいっているようでフォームの入力内容もとれているようなのですが、doneの部分でdataをコンソールログで出すとそのページのhtmlが丸々返ってきてしまっています。また
どのように対処すればいいのでしょうか。
今の段階では取り敢えずフォームの1項目に関してPHPで変数にしてajaxに返すというような処理を行っています。
該当のソースコード
javascript
1$(function(){ 2 $("#makeQr").click( 3 function(){ 4 $.ajax({ 5 url:location.href, 6 type: "POST", 7 data: { 8 "target": $("#target").val(), 9 "title": $("#title").val(), 10 "emailContent": $("#emailContent").val(), 11 }, 12 timeout: 3000, 13 datatype: "json", 14 }).done(function(data){ 15 console.log(data); 16 console.log("ok"); 17 }).fail(function(XMLHttpRequest, textStatus, errorThrown){ 18 console.log("miss" + XMLHttpRequest + textStatus + errorThrown); 19 console.log(data); 20 }) 21 }) 22})
javascript
1<?php 2header("Content-type: application/json; charset=UTF-8"); 3$to = $_POST["target"]; 4echo json_encode($to); 5?> 6
### 試したこと
ちなみにphpのエコーで返してajaxでパースすると以下のようなエラーコードが出てしまいます。
Uncaught SyntaxError: Unexpected token < in JSON at position 0
またPHPとajaxを単一のファイルにしていたのがまずいのかと思いPHPを別のファイルに移しましたが変わりませんでした。