ホームページ ウェブフロントエンド jsチュートリアル jqueryの$getjson呼び出しとリモートJSON文字列の取得問題_javascriptスキル

jqueryの$getjson呼び出しとリモートJSON文字列の取得問題_javascriptスキル

May 16, 2016 pm 05:47 PM
jquery json

コードは次のとおりです:

コードをコピー コードは次のとおりです:

<! DOCTYPE html PUBLIC "-/ /W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> ="http:// www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf; -8" />
<title>無題ドキュメント</title>
</head>
<script type="text/javascript" src="jquery-1.7.2.min .js"> ;</script>
<script type="text/javascript">
$(function(){
$("button").click(function(){
$ .getJSON("ajax6.asp",function(data){
$("#pig").html(data.name);
}); >});
<body>
<ボタン></div> 🎜>









🎜>
コードは次のとおりです: <% response.Write("{name:'peter',age:18}"); ;
なぜ取得できないのですか? , aspのjsonを取得したいです。
解決された主な問題は次のとおりです。キーと値には次のように二重引用符が必要です。



コードをコピー


コードは次のとおりです。 :
response.Write("{""名前"":""ピーター"",""年齢"":""18″"}") jQuery でよく使われる GetJSON を呼び出してリモートの JSON 文字列を取得し、JSON オブジェクトに変換し、成功した場合はコールバック関数を実行します。プロトタイプは次のとおりです。 jQuery.getJSON( url, [data], [callback] ) は、ドメイン間で JSON データを読み込みます。
url: リクエストを送信するアドレス
data: (オプション) 送信されるキー/値パラメータ
callback: (オプション) ロードが成功したときのコールバック関数
は主にクライアントが次のことを行うために使用されます。サーバーの JSON データを取得します。簡単な例:
サーバー スクリプト、JSON データを返す:




コードをコピー


コードは次のとおりです:
2 つの点に注意してください: まず、クライアントに戻る前に、PHP 関数 json_encode を使用して返されたデータをエンコードします。 2 番目: echo はクライアントに戻るために使用され、戻るのではありません。
次はコア クライアント コードです:



コードをコピー


コードは次のとおりです: alert(response.age);
} );
}
<input type="button" name="btn" id="btn" value="test" onClick="javascript:getjs();"/> >

PHP では戻り値が JSON でエンコードされているため、getJSON を使用して PHP ファイルを呼び出してデータを取得する必要があります。同時に、getJSONで取得したデータがオブジェクト配列になっていることがわかり、response.nameとresponse.ageを使うことで直感的に戻り値を取得することができます。
jquery は、クロスドメインの Ajax リクエストを実装できる $.getJSON メソッドを提供しますが、jqueryAPI の内容は、$.getJSON の使用方法と、リクエスト元の Web サイトから返されるデータベースの種類が少なすぎます。 $.getJSON がそれを取得できることを確認するには、以下に実際の例を使用して説明します。
バックエンドは PHP を使用しています。次のコードの主な機能の 1 つは、渡す必要があるデータは次のとおりです: ユーザー名、連絡先番号、住所:



コードをコピー


コードは次のとおりです:

/*Reservation registration execution interface*/
case "yuyue_interface":
$name = trim($_GET['name']);
$phone = trim($_GET[ 'phone']);
$addr = trim($_GET['addr']);
$dt = date("Y-m-d H:i:s");
$cb = $_GET[ 'callback'];
if($name == "" || $name == NULL){
echo $cb."({code:".json_encode(1)."})";
}elseif($phone == "" || $phone == NULL){
echo $cb."({code:".json_encode(2)."})";
}elseif( $addr == "" || $addr == NULL){
echo $cb."({code:".json_encode(3)."})";
}else{
$db ->execute("insert into tb_yuyue (realname,telphone,danwei,dt,ischeck) values ​​('$name','$phone','$addr','$dt',0)");
echo $cb."({code:".json_encode(0)."})";
}
exit;
break;

Then the front-end processing :
Copy code The code is as follows:

$(document).ready(function(){
//The following 3 parameters are required for reservation registration
var name = "name"; //varchar type, with a maximum length of 8 digits (4 Chinese characters)
var phone = "phone"; / /varchar type, length is 11 digits
var addr = "addr"; //varchar type, length is up to 500 digits (250 Chinese characters)
$.getJSON("http://request website address/data .php?ac=yuyue_interface&name=" name "&phone=" phone "&addr=" addr "&callback=?", function(data){
if(data.code==1){
//Customized Code
alert("Name cannot be empty");
}else if(data.code==2){
//Custom code
alert("Mobile phone cannot be empty");
}else if(data.code==3){
//Customized code
alert("The unit cannot be empty");
}else{
//Customized Code
alert("Appointment successful");
}
});
});

It should be noted that in the back-end php code, it must Also output the " &callback=? " passed in, such as:
Copy the code The code is as follows:

$cb = $_GET['callback'];
echo $cb."({code:".json_encode(4)."})";

The above is one A simple $.getJSON test. Through this test, we can learn how to use $.getJSON and how to make an interface to allow others to make cross-domain requests.
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHP 配列を JSON に変換するためのパフォーマンス最適化のヒント PHP 配列を JSON に変換するためのパフォーマンス最適化のヒント May 04, 2024 pm 06:15 PM

PHP 配列を JSON に変換するためのパフォーマンス最適化のヒント

Jackson ライブラリのアノテーションは、JSON のシリアル化と逆シリアル化をどのように制御しますか? Jackson ライブラリのアノテーションは、JSON のシリアル化と逆シリアル化をどのように制御しますか? May 06, 2024 pm 10:09 PM

Jackson ライブラリのアノテーションは、JSON のシリアル化と逆シリアル化をどのように制御しますか?

PHPを深く理解する:JSON Unicodeを中国語に変換する実装方法 PHPを深く理解する:JSON Unicodeを中国語に変換する実装方法 Mar 05, 2024 pm 02:48 PM

PHPを深く理解する:JSON Unicodeを中国語に変換する実装方法

jQuery のヒント: ページ上のすべての a タグのテキストをすばやく変更する jQuery のヒント: ページ上のすべての a タグのテキストをすばやく変更する Feb 28, 2024 pm 09:06 PM

jQuery のヒント: ページ上のすべての a タグのテキストをすばやく変更する

PHP 配列を JSON に変換するための簡単なヒント PHP 配列を JSON に変換するための簡単なヒント May 03, 2024 pm 06:33 PM

PHP 配列を JSON に変換するための簡単なヒント

Java JSON 処理の頂点を征服する: 複雑なデータを解析して作成する Java JSON 処理の頂点を征服する: 複雑なデータを解析して作成する Mar 09, 2024 am 09:13 AM

Java JSON 処理の頂点を征服する: 複雑なデータを解析して作成する

PHP チュートリアル: JSON Unicode を漢字に変換する方法 PHP チュートリアル: JSON Unicode を漢字に変換する方法 Mar 05, 2024 pm 06:36 PM

PHP チュートリアル: JSON Unicode を漢字に変換する方法

PHP 配列を JSON に変換する際の問題と解決策 PHP 配列を JSON に変換する際の問題と解決策 May 01, 2024 pm 01:30 PM

PHP 配列を JSON に変換する際の問題と解決策

See all articles