次のような単純なAjaxを実装しています。実行時、alertに「message」という文字列が出てほしいのですが、大量のHTMLがかえってきます。何がおかしいのでしょうか?
JavaScript
jQuery.ajax({
type: "POST",
url:url,
data: {
// jsonで送信
},
success: function(msg){
alert(msg);
});
PHP
function hoge(){
echo "message";
die;
}
無指定の状態ではhtml/textとして処理されてしまうので、
header送信で出力形式を指定しつつ、指定した形式での出力を行います。
プレーンテキストで返す例
<?php header('Content-type: text/plain; charset=utf-8'); echo 'hogehoge';
配列(json)で返す例
<?php header('Content-Type: application/javascript; charset=utf-8'); $a = array( 'a' => 'b', 'c' => 'd' ); echo json_encode( $a );
http://php.net/manual/ja/function.header.php
http://www.php.net/manual/ja/ref.json.php
http://php.net/manual/ja/function.json-encode.php
コメント(0件)