ここで、Ajax が異なるページをリクエストする WeChat JSSDK の問題に関する記事を共有します。これは非常に参考になるので、皆さんのお役に立てれば幸いです。
問題のシナリオ:
Bluetooth プリンターを使用して印刷する必要があるフォーム コンテンツがページ A にあり、フォーム情報を入力し、処理のために Ajax リクエストを通じてファイル B (PHP) に送信します。フォームは正常にジャンプします。ページ B に移動すると、ページ B にデータを処理するための PHP に加えて、JSSDK 部分である JS コードも含まれているため、それを印刷できます。ただし、ajax リクエストで送信すると応答がなく、wx.ready と wx.config を除くすべての jssdk が実行できません。 (ファイル A.B の両方に wx.config と wx.ready 構成があります)
たとえば、データ送信用のパラメーター:
wx.invoke('sendDataToWXDevice',data,function(res){ //微信提供的接口,只有这么一个回调函数,如果通过ajax请求,则无法进入回调函数 if(res.err_msg=='sendDataToWXDevice:ok') { alert("打印成功"); window.history.go(-1); } else { alert("打印失败"); } });
したがって、PHP ファイルをリクエストすると、返されるデータには次のものが含まれると推測しました。ページ B の JS コード部分、つまりページ A には wx.config と wx.ready があり、ページ B によって返されるコンテンツにもこれら 2 つのインターフェイスがあります。この問題を解決するために、
をすべて配置します。ページBのWeChatインターフェイスを削除します。フォームの処理後に送信する必要があるコンテンツのみが入力に保存されます。
//返回 处理后的数据 echo '<input type = "hidden" name = "print_str" id = "print_str" value="'.$hex_str.'"/ >'; echo '<input type = "hidden" name = "device_id" id = "device_id" value="'.$device_ID.'"/ >'; ?>
元のジャンプ ページの印刷は、非同期リクエストの印刷に変更されます。実際、B ファイルは、A から渡されたデータを返すことのみを担当します。 B に変換され、暗号化によって処理されるため、B ファイル内の HTML と JS の混合コードをすべて削除する必要があります。これは、ハードウェア SDK のニーズに関係するため、beta:true 属性が構成構成に含まれているかどうかです。 、インターフェイス リストのパラメーターも入力されているかどうか。使用されるハードウェア SDK インターフェイス
当時、私の考えは正しいと思いました。しかし、document.writeを使用して、openWXDeviceLib、sendDataToWXDeviceなどを含むwx.invokeのコールバック関数に返された結果を書き留めるたびに、wx.invoke後の出力が毎回実行されるわけではないことがすぐにわかり、私のオリジナルページのコンテンツもクリアされました。この時点ではこの問題に気づいていなかったので、呼び出す前にページ B から返されたデータを出力するまでテストを続けました (上記の document.write コンテンツは、リクエストが成功した後の成功コールバック関数です)。 )出力)、invokeメソッドを実行したときに送信したいデータが未定義になっていることに気づき、突然ページの元のコンテンツがクリアされていることに気づきました(以前はBにジャンプしていたため、ページが印刷されました、なので空白でした、~~、慣れてきて変化に気づきませんでした) その後、アラート出力に切り替えたところ、つまり、ajax でカプセル化されたコールバック関数で正常に印刷できました。 JQUERY、 document.write を使用して出力すると、ページのコンテンツがリセットされます (出力に document.write を使用する理由は、前のテストの特定の段階で、元々デバッグとして使用されていた構成がアラート ウィンドウを通じて情報をポップアップ表示したためです。しかし、なぜ document.write を使用したのかわかりません。フォームはページに書かれています。そのとき何が起こったのか忘れてしまったので、このエラーが発生しましたが、JQ のこの問題についてはまだ知っています
: JQuery の ajax 成功コールバック document.write を使用して関数のコンテンツを出力すると、ページのコンテンツがリセットされます。興味があれば、他のコールバック関数を確認してください。
上記は私があなたのためにまとめたものです。
関連記事:
less、sass、css スタイルを Vue-cli 単一ファイルコンポーネントに導入するさまざまな方法についての簡単な説明
vue-cli で作成されたプロジェクトのローダー問題を解決する
vueでモックアップを書くJianshuのカルーセルのサンプルコード
以上がajax での WeChat JSSDK が別のページをリクエストすることに問題はありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

さまざまなJavaScriptエンジンは、各エンジンの実装原則と最適化戦略が異なるため、JavaScriptコードを解析および実行するときに異なる効果をもたらします。 1。語彙分析:ソースコードを語彙ユニットに変換します。 2。文法分析:抽象的な構文ツリーを生成します。 3。最適化とコンパイル:JITコンパイラを介してマシンコードを生成します。 4。実行:マシンコードを実行します。 V8エンジンはインスタントコンピレーションと非表示クラスを通じて最適化され、Spidermonkeyはタイプ推論システムを使用して、同じコードで異なるパフォーマンスパフォーマンスをもたらします。

現実世界における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はサーバー側のプログラミングをサポートしており、フルスタック開発に適しています。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

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

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

ドリームウィーバー CS6
ビジュアル Web 開発ツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。
