この記事では主に、ajax を使用して jquery1.8 バージョンで WeChat 呼び出しを実装するときに発生する問題の分析と解決策を紹介します。必要な友人はそれを参照してください。
まず、問題の背景を説明します。現在、WeChat の特定の機能を開発するプロジェクトに取り組んでいます。asp.net と jquery バージョン 1.8.0 を使用して開発されています。
WeChat のボタンをクリックしてイベントをトリガーし、ajax を呼び出してサーバーと対話し、コールバック関数はエラーを使用します。
分析の理由: 最初に考えたのは、返されたデータ型に問題があるということでした。1.4 以降の jquery バージョンは json 形式に非常に厳密であり、{"target":true," に準拠する必要があるためです。 message":"success"} このような形式です。 JSON.stringify() 関数を使用して応答オブジェクトを分析したところ、結果は一貫しており、原因が取り除かれました。
ajax は error を使用するため、XMLHttpRequest、textStatus、errorThrown などの error 関数のパラメーターの分析を開始しました。 XMLHttpRequest.status が 0、XMLHttpRequest.readyState が 0 であることがわかりました。これは、フォーム内に XMLHttpRequest オブジェクトが存在しますが、初期化されていないことを示しています。 次に、XMLHttpRequest オブジェクトを初期化する方法の検討を開始しました。
解決策:
var xmlHttpRequest; $(function(){ if(window.XMLHttpRequest){ xmlHttpRequest=new XMLHttpRequest(); }else{ xmlHttpRequest=new ActiveXObject("Microsoft.XMLHTTP"); } xmlHttpRequest.open("GET","AjaxServlet",true); });
これにより、PC 上の一般的な Ajax へのアクセスには問題がないことに注意してください。これは、PC 上のブラウザには XMLHttpRequest オブジェクトが組み込まれており、WeChat では、この現象が発生した場合は、手動でビルドして初期化する必要がある場合があります。
ps: WeChat の組み込みブラウザおよび IE6 ブラウザの Android バージョンでの ajax リクエストのエラー処理を中止します
WeChat の組み込みブラウザの Android バージョンで、クリック イベントをページ要素にバインドして、ajax リクエストをトリガーしますブラウザと IE6 では、リクエストが頻繁に中断され、エラー タイプ「中止」が返されますが、他のブラウザではすべて正常です。
Fiddler2 と httpWatch を使用して IE6 でリクエストを監視すると、「中止されました」というメッセージが頻繁に表示され、週末全体がかかります。 。 。 。 。
これ以上ナンセンスはありません....
解決策: onclick='return false;' をラベルに追加します
上記は私が皆さんのためにまとめたものであり、将来皆さんのお役に立てば幸いです。
関連記事:
h5履歴に基づいてajaxリストリクエストエクスペリエンスを向上させる
以上がjquery1.8 バージョンは、ajax を使用して WeChat 通話の問題分析と解決策を実装します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。