スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Tag:スポンサー広告 

【PHP/jQuery】jQueryのgetJSONメソッドがIEで動作させられなかった

クライアントサイド:json.html
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">

function hoge(){
$.getJSON("json.php", {hoge: "hoge"}, function(data){
document.getElementById("test").innerHTML = data.hoge;//本当はセレクターで$("#test")と書くべき
});
}
</script>
</head>
<body>
<h1>hoge</h1>
<div id="test"></div>
<input type="button" value="Submit" onClick="hoge();">
</body>
</html>

サーバサイド:json.php
<?php
$hTest = array('hoge' => 'aaaaaa');
echo json_encode($hTest);
?>

としていたとします。

これだとFireFox、Safariだと動くのになぜかIEだけは…

調べてみるとサーバサイドでjson形式でデータを送るときにヘッダー情報として

「json形式でデータを返しますよ」

と明示してあげないとダメみたい

なので

header('Content-type: application/json; charset=UTF-8');

の一行をサーバサイドのjson.phpに追加してあげるとできます

サーバサイド:json.php
<?php
header('Content-type: application/json; charset=UTF-8');
$hTest = array('hoge' => 'aaaaaa');
echo json_encode($hTest);
?>

こうすることでIEでもjQueryのgetJSONメソッドが使えます

そもそもヘッダーつけるのうっかり忘れたのが原因でハマったのでメモしておきます
スポンサーサイト

Tag:PHP  Trackback:0 comment:0 

Comment

comment form
(編集・削除用):
管理者にだけ表示を許可
プロフィール

6rats

Author:6rats
こんにちは、ITベンチャーで働くエンジニアです
主に自分の周りで起きた技術的なことをメモとして書き残して行きます。
Android以外にもRuby/Ruby on RailsやFuelPHPなどなどたまにやります。基本的なスタンスとしては興味があるもしくは必要になったらいろんなことにチャレンジします。
最近はiOSアプリ開発を始めています。

購読
follow us in feedly
個人プロダクト

Androidアプリ

Twitterクライアント

Webアプリケーション

EcPriceWatch(Amazon価格の推移を計測、最安値を知らせるサービス)
Google AdSense
ブログ村
にほんブログ村 IT技術ブログへ
にほんブログ村
ブロとも申請フォーム

この人とブロともになる

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。