問題タブ [encodeuricomponent]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
601 参照

javascript - JavaScript で検索文字列を引用符で囲み、Python バックエンドで引用符を外す必要があります

まず、私のコード。

HTML

Javascript、ファイルの後半

最後に、python/flask バックエンドです。

説明するために、文字列にスラッシュが含まれるため、文字列をURLに入れる前に引用しようとしています。ただし、検索を行うと、ページが読み込まれず、これが URL バーであることがわかります。

セットアップに問題がある人はいますか?

0 投票する
1 に答える
291 参照

javascript - ドットネットと JavaScript の URL エンコーディング

次のコードはhttp://localhost:23843/home/GetBooksTitles?partial=yes&typeofbook=livreの代わりに戻りますhttp://localhost:23843/home/GetBooksTitles?partial=yes&typeofbook=livre&の代わりに返します&

そのようなURLをエンコードしないようにdotnetに指示するにはどうすればよいですか?

注:私は使いたくありませんurl.replace('&','&')

0 投票する
2 に答える
874 参照

javascript - encodeURIComponent() を使用する文字列プロトタイプ カスタム メソッド

私はencodedURIComponentValue()Javascript文字列用にこのメソッドを書いています:

アイデアは、私が電話できるようにすることです:"some string".encodedURIComponentValue()

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

ただし、場合によっては機能しません。

何か案が ?

0 投票する
2 に答える
2090 参照

javascript - 括弧をエンコードし、encodeURIComponent を使用してチルト スターを強調する

encodeURIComponent は、次を除くすべての文字をエスケープします。- _ . ! ~ * ' ( )

しかし、上記の特殊文字もエンコードする機能を拡張することは可能ですか?

私はこのようなことができることを知っています:

しかし、encodeURIComponentで追加の関数を使用せずに、このような機能が必要です

0 投票する
1 に答える
849 参照

javascript - プラス記号を使用してスペースをエノコードする URL エンコーディング

サーバーに送信する前にフォーム データに署名する必要があるアプリケーションがあります。署名方法では、すべてのフォーム入力値を JavaScript でエスケープし、署名してから、署名済みデータをサーバーに送信してクロス マッチングを行う必要があります。リモート サーバーは、プラス記号ですべてのスペースをエノコーディングする方法でフォーム データをエスケープしています。

したがって、フォームデータが次の場合:

エンコードされた出力は

しかし、javascript の encodeURIComponent、encodeURI、およびエスケープをテストしました。それらのすべてが私に次の出力を与えます:

これに適した機能はありますか?

0 投票する
1 に答える
690 参照

google-chrome - javascript encodeURIcomponent、いつ使用するか、およびブラウザー

  1. サーバーに日時文字列を渡すには、encodeURIcomponent を使用する必要がありますか? なくても機能することに気付きました。サーバーに渡す日時文字列の形式は、たとえば 11/08/2014 18:15 です。ご覧のとおり、空きスペースがあるので、使って良いかどうか迷っています。

  2. 通常、chrome (私の開発ブラウザー) がエンコードを行ってくれることに気付きましたが、これは良いことも悪いこともあります。悪い点は、自分の間違いに気付かないことです。非 ASCII 文字をサーバーに渡しました。Chrome と Firefox では正常に機能しましたが、IE では機能しませんでした。私が見つけるまで、なぜこれが起こっているのかを見つけるのに何時間も費やしました。ここでの質問は、クロムをより「厳密」にする方法ですか? これだけではなく、クロムがコンソールにエラーを表示しない他のエラーについても言及しています。たとえば、通常、chrome は HTML マークアップ エラーを「滑らかに」します。これは、製品には適していますが、開発には適していません。では、より厳密にするにはどうすればよいでしょうか。

0 投票する
1 に答える
10605 参照

javascript - Ajax POST および JSON での特殊文字の送信

@解決済み

James M. Lay が説明したように、content-type を からapplication/x-www-form-urlencodedに変更する必要があります。application/json

UrlEnconded タイプのみがサーバー側で POST 配列を生成するように見えるため (少なくとも PHP では)、エラーが発生しました。そのため、サーバースクリプトでリクエストを受信/処理する方法を変更する必要がありました

また、コンテンツ タイプをチェックして別の文字列を生成するために、Javascript コードをいくつか変更する必要がありました。それがJSONの場合、私はただ使用しますJSON.stringify


質問があります

パラメータを受け取ってパラメータのリストを書き込み、POST で送信する関数を作成しています

問題は、特殊文字を送信できないことです。+

そこで、関数encodeURIComponentを使用してそれらを URI に適した文字列にエンコードしようとしました。

別の問題があります。受け取ったパラメーターがオブジェクトの場合、属性をループして、それが別のオブジェクトか文字列かを確認し、オブジェクトの場合は再度ループし、そうでない場合はエンコードします。

しかし、エンコードされた文字列のオブジェクトを返しています。オブジェクトを送信するには、オブジェクトを文字列にする必要があり、そのために を使用しますJSON.stringify。エンコードされた文字列をデコードします。そう%2Bなり+、POST経由でサーバーに送信されません。

一方、stringify最初に使用するとencodeURIComponent、エンコードされるべきではない " や { } などの記号が生成され、文字列は適切に記述された JSON ではありません

どうやってそれをしますか?それはjQueryを使わない方法ですか?独自の stringify 関数を作成する必要がありますか?!

0 投票する
1 に答える
4734 参照

javascript - Javascript/jQuery:文字列をHTMLの文字コードに変換する方法

アポストロフィ、引用符、アンパサンドなどの特殊文字を含むテキストを含む文字列があります。たとえば&#39、アポストロフィなどの代わりに表示するために、HTML 文字コードに変換したい (次のリストに従って: http://www .w3.org/MarkUp/html-spec/html-spec_13.html .

上記およびその他の基本的な文字が正しくエンコードされている限り、必ずしも文字とスペースを変換する必要はありません。

一時的な回避策として、次のような単純な置換を使用しますstr = str.replace("'", "&#39")が、特定の文字しかカバーしないため、これは避けたいと思います。

encodeURIまたはを考えencodeURIcomponentていましたが、必要以上にエンコードせずにこれを達成するための最良かつ最も簡単な方法を知りたいです。

これが動的に挿入される他の JS の問題を回避するという考えがある場合、誰かがここで何が最善の方法であるかを教えてもらえますか? ここで問題を引き起こす可能性のある一重引用符、二重引用符、およびその他の文字を考えていますか (JavaScript / jQuery および英語のみを参照) ?

0 投票する
0 に答える
100 参照

jquery - $.get() ページ名に特殊文字を含む HTML ページ

$.get()関数を介して HTML ページのコンテンツを取得しようとしています。このページには、ファイル名に特殊文字+が含まれています。

コンテンツを取得しようとしている方法は次のとおりです。

このコードは機能し、ローカルで正常に実行され、コンテンツを正しく取得します。Web サーバーに移動するとすぐに動作が停止し、ajax 呼び出しで404 Not foundエラーが返されます。

スクリプトとファイル名の両方で+_に置き換えようとしましたが、機能しますが、プラス記号を保持する必要があります..使用しようとしましたencodeURI()

+を手動で%2Bに置き換えることもできます

しかし、それはうまくいきませんでした..

使用する

次のエラーがスローされます。

エンコードされた URL でも機能しません。


補足:他のページを正常に取得しています

$.get元の HTML ファイルのさまざまな部分にこれらのスライスを追加する前に、ファイル コンテンツを操作してスライスする必要があるため、使用する必要があります。$.load()私は呼び出しをテストし、Request メソッドを使用しています: GET、このようにして、フォルダーにアクセスできることがわかります..

他のアイデアはありますか?

ありがとう