Jquery は Firefox FireBug プラグインを使用して Ajax ステップをデバッグします Explain_jquery
まず、例を使用して JQuery の Ajax 呼び出しプロセスを説明します。
実装されている機能の 1 つは次のとおりです: 支払い確認ボタンをクリックすると、残高支払い機能が実装されます:
1. まず、呼び出す必要がある関連関数を PHP ページのボタンにバインドします。
$(関数(){
$("#pay_btn").bind("click",ABC.balancePay);
});
2. スクリプト オフィス:
$.post メソッドを使用する場合:
var ABC = {
BalancePay: function(event){
event.preventDefault();
var tthis = $(event.currentTarget);
var form = tthis.parents(‘form’);
var url = form.attr(‘アクション’);
var data = ‘code=15’ ;// $(‘#verifyCode’).val();
var jqXhr = $.post(url, data, unknown, ‘jsonp’);
jqXhr.done(function(datas){
//console.log('これはコンソールを通じて出力されます') //#4
$("#msg").text('結果:' データ);
});
}
$.post メソッドはコールバック関数を直接指定することもできます:
var jqXhr = $.post(url,データ、関数 (データ){
$("#msg").text('結果:' データ);
}, 'jsonp');
$.ajax メソッドを使用して次のことを実現します:
var jqXhr = $.post(url,データ、関数 (データ){
$("#msg").text('結果:' データ);
}, ‘jsonp’);
$.ajax メソッドを使用して次のことを実現します:
var jqXhr = $.ajax({
タイプ: 「投稿」、
URL: URL,
データ: {コード: '15'},
データタイプ: ‘jsonp’,
scuess:function(data){
アラート('良い');},
error: function(XMLHttpRequest, textStatus, errorThrown) { // #3 このエラー関数は、解析が正しくない場合、エラー ボックスがポップアップ表示されます (XMLHttpRequest.readyState);
;
});
3. サーバー側:
コードをコピー
public function actionInterPayProc($callback)
{
//header("content-type: text/javascript");
//header(‘Content-type: text/html; charset=utf-8′);
$code = $_POST['code'];
//$code //#1 此处给出一个有语法错误的表达式
//echo $code; //#2 此处标记,用于后面调试说明;
…
$result = 1;
//echo $_POST['callback']. ‘(‘ . json_encode($result) . ‘);';//注意使用的编码方式需要和客户端请求保持一致;
exit(0);
}
调试工具
Firefox有强大FireBug 插件,现在比较新的浏览器如 Chrome 和 Safari,以及 IE 8都内置了调试工具,借助于这些调试工具,可以非常详细的查看 Ajax 的执行过程(chrome和firefox中调出调试工具的快捷键是ctrl+shift+c);
以下使用FireBug;
1.使用firebug,查看回调:
对于Ajax方法,是通过异步执行的服务器端程序,如果服务器端出错,在页面上不会显示的,我们需要借助调试工具来查看;例如,将以上示例中#2的注释去掉,触发ajax请求一次,可以在控制台面板中查看到错误的返回结果:
![]() |
サーバー側のプログラムでエラーが発生した場合も、エラーの原因は通常のページと同じですが、ajaxから返されたパネルで表示されるだけです(何も表示されません)。 Webブラウザのページに表示されます)。
ここで、表示する必要がある変数を出力するためにサーバー側で echo やその他のメソッドが使用されている場合、コールバック関数の名前が変更されているため、ajax 呼び出しの結果は失敗する必要があることに注意してください。変更されました。
たとえば、出力された変数が 333 の場合、最終的なコールバック結果は次のようになります: 333ajaxcallbak(1); クライアントは関数名 333ajaxcallbak を探していますが、それを解析できません。
2. error 関数を使用してエラー情報を出力します。
$.ajax() には、リクエストが失敗したときに呼び出される関数を指定できる error パラメーターがあります。ここで提供される情報はデバッグに非常に役立ちます
エラー: 関数 (XMLHttpRequest、textStatus、errorThrown)
エラー イベントによって返される最初のパラメータ XMLHttpRequest には、いくつかの有用な情報が含まれています:
XMLHttpRequest.readyState:
返されたステータス コードは、エラーの説明に対応します:
ステータスコード
0 - (初期化されていない) send() メソッドはまだ呼び出されていません
1 - (ロード中) send() メソッドが呼び出され、リクエストが送信されています
2 - (ロード完了) send() メソッドが実行され、すべての応答コンテンツが受信されました
3 - (対話型) 応答コンテンツを解析します
4 - (完了) 応答コンテンツの解析が完了し、クライアントで呼び出すことができます
XMLHttpRequest.status:
ここで返されるステータス コードは、ページが見つからなかったことを意味する 404 などの HTTP ステータスです。
textStatus:「タイムアウト」、「エラー」、「notmodified」、「パーサーエラー」。
(デフォルト:自動判定(xmlまたはhtml)) リクエストが失敗した場合に呼び出すタイミング。 XMLHttpRequest オブジェクト、エラー メッセージ、および (オプションの) キャプチャされたエラー オブジェクトの 3 つのパラメータがあります。エラーが発生した場合、エラー メッセージ (2 番目のパラメーター) には、null に加えて、「timeout」、「error」、「notmodified」、および「parsererror」が含まれる場合があります。
このエラー関数を使用すると、プログラム エラーのトラブルシューティングが簡単になります。
たとえば、上記の #2 では、コメントを削除すると、エラーが発生した場合にコールバック関数名を変更することと同じになり、次のようにレポートされます。
3. console.log を使用して出力を出力します: (alert() も使用できます)
これは、デバッグ エクスペリエンスを向上させるための単なる補助的な方法です。 js で関心のある変数を追跡するには、alert() メソッドを使用して変数を出力できますが、頻繁にポップアップ ボックスが表示されるとイライラします。 console.log は代替手段であり、firebug プラグインのメソッドです。 console.log によって出力された変数の結果は、firebug コンソール パネルに表示されます。
考えられるエラーの理由:1. 返された結果の形式が間違っている場合は、firebug で結果を確認できます。
2. JSON リクエストの場合、形式は厳密です:
error 関数を通じて報告されたエラーが次の場合: parsererror
考えられる理由は、サーバー側のスクリプトのエンコードの問題です。サーバー側の処理関数で処理される最初の行に、対応するヘッダー情報を追加できます。
例: header('Content-type: text/html; charset=utf-8');もちろん、形式が間違っている可能性が高くなります:
コードをコピー
奇妙な json 形式の文字列を出力しないでください。出力しないと、jq1.4 バージョンは成功コールバックを実行しません。たとえば、{abc:1} または {'abc':1} の場合、
を出力するには、コード

現実世界におけるJavaScriptのアプリケーションには、サーバー側のプログラミング、モバイルアプリケーション開発、モノのインターネット制御が含まれます。 2。モバイルアプリケーションの開発は、ReactNativeを通じて実行され、クロスプラットフォームの展開をサポートします。 3.ハードウェアの相互作用に適したJohnny-Fiveライブラリを介したIoTデバイス制御に使用されます。

私はあなたの日常的な技術ツールを使用して機能的なマルチテナントSaaSアプリケーション(EDTECHアプリ)を作成しましたが、あなたは同じことをすることができます。 まず、マルチテナントSaaSアプリケーションとは何ですか? マルチテナントSaaSアプリケーションを使用すると、Singの複数の顧客にサービスを提供できます

この記事では、許可によって保護されたバックエンドとのフロントエンド統合を示し、next.jsを使用して機能的なedtech SaaSアプリケーションを構築します。 FrontEndはユーザーのアクセス許可を取得してUIの可視性を制御し、APIリクエストがロールベースに付着することを保証します

JavaScriptは、現代のWeb開発のコア言語であり、その多様性と柔軟性に広く使用されています。 1)フロントエンド開発:DOM操作と最新のフレームワーク(React、Vue.JS、Angularなど)を通じて、動的なWebページとシングルページアプリケーションを構築します。 2)サーバー側の開発:node.jsは、非ブロッキングI/Oモデルを使用して、高い並行性とリアルタイムアプリケーションを処理します。 3)モバイルおよびデスクトップアプリケーション開発:クロスプラットフォーム開発は、反応および電子を通じて実現され、開発効率を向上させます。

JavaScriptの最新トレンドには、TypeScriptの台頭、最新のフレームワークとライブラリの人気、WebAssemblyの適用が含まれます。将来の見通しは、より強力なタイプシステム、サーバー側のJavaScriptの開発、人工知能と機械学習の拡大、およびIoTおよびEDGEコンピューティングの可能性をカバーしています。

JavaScriptは現代のWeb開発の基礎であり、その主な機能には、イベント駆動型のプログラミング、動的コンテンツ生成、非同期プログラミングが含まれます。 1)イベント駆動型プログラミングにより、Webページはユーザー操作に応じて動的に変更できます。 2)動的コンテンツ生成により、条件に応じてページコンテンツを調整できます。 3)非同期プログラミングにより、ユーザーインターフェイスがブロックされないようにします。 JavaScriptは、Webインタラクション、シングルページアプリケーション、サーバー側の開発で広く使用されており、ユーザーエクスペリエンスとクロスプラットフォーム開発の柔軟性を大幅に改善しています。

Pythonはデータサイエンスや機械学習により適していますが、JavaScriptはフロントエンドとフルスタックの開発により適しています。 1. Pythonは、簡潔な構文とリッチライブラリエコシステムで知られており、データ分析とWeb開発に適しています。 2。JavaScriptは、フロントエンド開発の中核です。 node.jsはサーバー側のプログラミングをサポートしており、フルスタック開発に適しています。

JavaScriptは、最新のブラウザにすでに組み込まれているため、インストールを必要としません。開始するには、テキストエディターとブラウザのみが必要です。 1)ブラウザ環境では、タグを介してHTMLファイルを埋め込んで実行します。 2)node.js環境では、node.jsをダウンロードしてインストールした後、コマンドラインを介してJavaScriptファイルを実行します。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

Dreamweaver Mac版
ビジュアル Web 開発ツール

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール
