jQuery.formプラグインとクロスドメイン非同期ファイルupload_jqueryの使用
まず説明しましょう
このクロスドメインの非同期アップロード機能では、非同期フォームで非常に効果的な Jquery.form プラグインを使用し、HTTP 応答ヘッダーに access-control-allow-method を追加します。もちろん、このヘッダー タグは IE10、Firefox、Google のみでサポートされています。IE10 より前のブラウザでは、この方法を使用することができず、サーバーがクライアントに書き換える必要があります。ファイルアップロードページと同じドメイン)を使用して、関連データを返します。
もう一度やり直す
1 Jquery.form の使用
<form method="post" action="http://127.0.0.1:801/Home/UploadResult" enctype="multipart/form-data" id="form1"> <input name="qdctvfile" id="qdctvfile11" type="file" onchange="eventStart()"> </form> <script type="text/javascript"> $("#form1").ajaxForm({ beforeSerialize: function () { var filepath = $("#qdctvfile11").val() var extStart = filepath.lastIndexOf("."); var ext = filepath.substring(extStart, filepath.length).toUpperCase(); if (ext != ".PNG" && ext != ".JPG") { alert("图片仅支持png,jpg格式"); $("#qdctvfile11").val(""); return false; } }, success: function (data) { alert(data); } }); function eventStart(obj) { $("#form1").submit(); }
コード内のeventStartメソッドは、ファイルの選択後にフォームを自動的に送信することを指しますが、ajaxFormはフォームの送信が例外であることを示し、successコールバックメソッドは非同期返信フォームアドレスの戻り値を参照することに注意してください。
2 クロスドメインの初期実装
ドメイン アクセスを解決するには、サーバーの応答ヘッダーに Access-Control-Allow-Origin と Access-Control-Allow-Methods を追加します。これらの機能は IE10 より前のブラウザではサポートされていません。これは非常に困難です。憂鬱な。
/// <summary> /// MVC模式下跨域访问 /// </summary> public class MvcCorsAttribute : ActionFilterAttribute { public override void OnActionExecuting(ActionExecutingContext filterContext) { Dictionary<string, string> headers = new Dictionary<string, string>(); headers.Add("Access-Control-Allow-Origin", "*"); headers.Add("Access-Control-Allow-Methods", "*"); foreach (var item in headers.Keys) { filterContext.RequestContext.HttpContext.Response.Headers.Add(item, headers[item]); } base.OnActionExecuting(filterContext); } }
運用環境では、Access-Control-Allow-Origin で正当なドメイン名を指定する必要があることに注意してください。* はすべての Web サイトがアクセス可能であることを意味し、これは危険です。
3 IE10以下でドメインを越えられない問題を解決
私は IE ブラウザについては何も言えません。私は Microsoft の製品がとても好きですが、IE についてはあまり話したくないのです。解決策のアイデア: クライアントはデータを直接返すのではなく、コールバック アドレスをクライアントに書き換え、コールバックは This
メソッドを通じて最終データを返します。これにより、直接的なクロスドメインの問題が解決されます。
/// <summary> /// 第三方的服务端 /// </summary> /// <param name="name"></param> /// <returns></returns> [HttpPost] public ActionResult UploadResult() { string data = "{'code':'OK','thumpImgUrl':'http://127.0.0.1/images/1.jpg'}"; return Redirect("http://localhost:9497/Home/UploadCallback?data=" + data); } /// <summary> /// 可能是服务端来调用它 /// </summary> /// <returns></returns> public ActionResult UploadCallback(string data) { return Content(data); }
問題の解決策を考えるときに、1 つの道を通れない場合は、考え方を変えることができ、予期せぬ利益が得られることがあります。
誰かが、POST を使用してサーバーとクライアントの間でデータを転送できるかどうか尋ねました。おじさんは、「いいえ、POST がクライアントに送信された後、クライアントはそれを処理して結果をサービスに返すからです」と言いました。 . 最後に、サーバーは結果を ajaxform に返します。これは最初のクロスドメインの問題に戻ります。
上記は、jQuery.form プラグインに基づいて jQuery クロスドメイン非同期ファイル アップロードを実装するためにエディターが紹介した関連コンテンツです。皆様のお役に立てれば幸いです。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

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

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

ホットトピック









記事では、JavaScriptライブラリの作成、公開、および維持について説明し、計画、開発、テスト、ドキュメント、およびプロモーション戦略に焦点を当てています。

この記事では、ブラウザでJavaScriptのパフォーマンスを最適化するための戦略について説明し、実行時間の短縮、ページの負荷速度への影響を最小限に抑えることに焦点を当てています。

フロントエンドのサーマルペーパーチケット印刷のためのよくある質問とソリューションフロントエンド開発におけるチケット印刷は、一般的な要件です。しかし、多くの開発者が実装しています...

この記事では、ブラウザ開発者ツールを使用した効果的なJavaScriptデバッグについて説明し、ブレークポイントの設定、コンソールの使用、パフォーマンスの分析に焦点を当てています。

この記事では、Javaのコレクションフレームワークの効果的な使用について説明します。 データ構造、パフォーマンスのニーズ、スレッドの安全性に基づいて、適切なコレクション(リスト、セット、マップ、キュー)の選択を強調しています。 コレクションの使用を効率的に最適化します

この記事では、ソースマップを使用して、元のコードにマッピングすることにより、Minified JavaScriptをデバッグする方法について説明します。ソースマップの有効化、ブレークポイントの設定、Chrome DevtoolsやWebpackなどのツールの使用について説明します。

このチュートリアルでは、chart.jsを使用してパイ、リング、およびバブルチャートを作成する方法について説明します。以前は、4つのチャートタイプのchart.js:ラインチャートとバーチャート(チュートリアル2)、およびレーダーチャートと極地域チャート(チュートリアル3)を学びました。 パイとリングチャートを作成します パイチャートとリングチャートは、さまざまな部分に分かれている全体の割合を示すのに理想的です。たとえば、パイチャートを使用して、サファリの男性ライオン、女性ライオン、若いライオンの割合、または異なる候補者が選挙で受け取る票の割合を示すことができます。 パイチャートは、単一のパラメーターまたはデータセットの比較にのみ適しています。パイチャートのファンの角度はデータポイントの数値サイズに依存するため、パイチャートは値のあるエンティティをゼロ値で描画できないことに注意してください。これは、割合がゼロのエンティティを意味します

スキルや業界のニーズに応じて、PythonおよびJavaScript開発者には絶対的な給与はありません。 1. Pythonは、データサイエンスと機械学習でさらに支払われる場合があります。 2。JavaScriptは、フロントエンドとフルスタックの開発に大きな需要があり、その給与もかなりです。 3。影響要因には、経験、地理的位置、会社の規模、特定のスキルが含まれます。
