問題タブ [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.
javascript - URIcomponentの非utf-8文字をエンコードし、それに応じてデコードする正しい方法は何ですか?
encodeURIcomponent
現在のページの URL をサーバー側に渡し、サーバー側でurldecode
文字を取得するために使用する Javascript ブックマークレットがあります。
問題は、エンコードされた文字が utf-8 ではない場合 (私の場合は gb2312 ですが、別のものである可能性があります)、サーバーが を実行するurldecode
と、デコードされた文字が正方形になります。明らかに、これはエンコード前の外観ではありません。
これはブックマークレットであり、入力は何でもかまいません。そのため、js で「gb2312 としてエンコード」を定義したり、php スクリプトで「gb2312 としてデコード」を定義したりすることはできません。
それで、encodeURIcomponent
文字エンコーディングをコンテンツと一緒に渡し、デコードで正しいエンコーディングを選択してデコードできる正しい使用方法はありますか?
javascript - javascript encodeURIComponent およびスペースを + 記号に変換する
URL をエンコードしたいのですが、スペースをプラス記号に変換したいです。
これは私がやろうとしたことです...
それからの出力ですTesting%2Bthis%2Bhere%2B%26
が、私が望むのは、スペースをプラス記号に変換するためにTesting+this+here+%26
置き換えようとしたことですが、うまくいかなかったようです。%20
ここで私が間違っていることを誰か教えてもらえますか?
php - リダイレクト時の Javascript encodeURIComponent の問題
この検索ボックスに何かを入力すると、jquery がクエリを準備し、場所をリダイレクトします。クエリ部分の準備はうまくいきますが、リダイレクト部分にはエンコードされたクエリに問題があります。ページは、リダイレクトの前にエンコードされたクエリを自動的にデコードします。
検索ボックスに「test1 test2 test3」と入力すると、encodeURIComponent() でクエリが test1%20test2%20test3 にエンコードされます。
これで、ページは自分自身を result.php+query にリダイレクトします。ここでの私の問題は、result.php?q=test1%20test2%20test3 ではなく、result.php?q=test1 test2 test3 にページが移動することです。
ここにコードがあります
アラートの結果は q=test1%20test2%20test3 ですが、 result.php?q=test1 test2 test3 になります
編集:リダイレクトコードでencodeURIComponent関数を使用すると、うまく機能します。
これらのコードは機能していますが、q= 部分もエンコードしています。
php - JSON の二重エンコード
ほとんどの AJAX 関数では、ユーザーが入力したフリー テキストを二重にエンコードする必要があります。つまり、encodeURIComponent(encodeURIComponent(myString)) を実行する必要があります。
一度だけ実行すると、二重引用符と長いハイフンを除くほとんどの記号が機能します。
単一のエンコード引用符の結果を警告すると、エンコードされますが、JSON 文字列が壊れるため、混乱します。
これは JavaScript のバグですか、それとも何か不足していますか? PHPでアンパサンドを二重にエンコードして動作させる必要がある方法に関連していますか?
やあ、
ユーザーが何かに対してメモを保存できるようにするコードは次のとおりです。
私のデータ構造がフラットであれば、JSON を使用する利点はまったくないのでしょうか?
JSON がもう少しセキュリティを強化するという印象を受けましたか?
jquery - Uri にエスケープ文字を含む jQuery Ajax 呼び出し
jQuery を介してGET
サービス メソッドに対して Ajax 呼び出しを行っています。問題は、使用されるパラメーターの値に文字が含まれる可能性があるため、メソッド/
を使用してパラメーターから特殊文字をエスケープすることにしました。encodeURIComponent()
その結果、/
文字が変換され%5
、エスケープされたパラメーターが Ajax 要求で使用されようとします。私のコードは次のようになります。
unescapes
何らかの方法で uri 値をjQuery すると、サーバーへの呼び出しが行われず、エラー コードが表示されます404 error
(パラメーターに no/
が存在する場合、呼び出しは正常に機能します。
Ajax呼び出しでそのようなパラメーターを送信する方法、またはコードで何が間違っているのでしょうか?
php - AJAX経由でフォームテキストエリアを送信する場合のencodeURIComponent()およびUTF-8
AJAXメソッドPOSTを介してPHPバックエンドファイルにデータを送信しています。データはtextareaから取得され、そのフォームには次の属性がありaccept-charset="UTF-8"
ます。AJAX関数はとしてデータを送信しhttp[act].send("title=" + encodeURIComponent(field.value)...)
、私のPHPバックエンドファイルは。で始まりますheader('Content-Type:text/html; charset=UTF-8');
。データベースのACCEPTNAMESとFIELDSはすべてUTF-8に設定されています(このような問題は発生していません)。
PHPバックエンドで関数をデコードする必要があると思いますencodeURIComponent()
。しかし、どのように?
編集(申し訳ありません):
Fibradietéticaは、 fibradietéticaAcompañadaとしてDBに挿入されます
。Acompaà ±adaとして挿入されます。
...等々。
javascript - encodeURIComponent の値を取得する方法
これは私の jsignature コードからのスクリプトです
画像データを取得し、それをphp値として渡してpdfメールとして送信したい
しかし、コードの出力をフォームに含める方法がわかりません。
彼がしたことを試してみたいと思います
PHP電子メールへのjSignatureイメージのエクスポート
しかし、同じ結果を生成する方法がわかりません。
javascript - ファイル名でcsvファイルをエクスポートする方法
既存のデータをcsvファイルにエクスポートしたい。私はこのコードを使用しようとします:
それは機能しますが、ファイル名を設計できます。名前の由来がわからない「MVeAnkW8.csv.part」のような名前のダイアログしか取得できません。
最初のダイアログでファイル名を割り当てるにはどうすればよいですか? 前もって感謝します。
アップデート:
今はレールを使っています。実際には、サーバー側の名前 export_to_csv にメソッドがあります。このメソッドの最後に、次のようなコードを使用します。
それは機能し、ファイル名を指定できます。今のところ、ajax を使用してより多くの csv ファイルを取得したいと考えています (通常の http 要求ではダウンロードするファイルを 1 つしか取得できないため、javascript を使用したいのはそのためです)。
私はそのようなjsコードを使用します:
サーバー側からデータを取得し、それをcsvに転送しようとします。ファイルを取得できますが、ファイル名を指定できません。
php - URLをJavascriptでエンコードする
友人、私は現在、以下function
を使用しencode
てデータを送信し、GET
メソッドを介して送信しています...ajax
送信とphp
受信に使用しています...
文字列を に渡した後、encodeURIComponent()
追加replace()
のメソッドを使用して、関数がリンクの文字列を次のようにエンコードするようにしましたphp
...
今私の質問は、誰かが同じことを行うためのより短い、または簡単な代替方法を知っていますか...
この質問は学習目的でのみ行います... jQueryは使用しないでください...
javascript - 空の文字列+null= "null"?
私は今日、アプリケーションで不正なAJAXリクエストのトラブルシューティングを行っているときに奇妙な出来事に遭遇しました。jQuery.param
リクエスト文字列の作成に使用して、データをサーバーに送り返します。
あるシナリオでは、param関数にフィードされたオブジェクトにnullオプションがあったため、次のようになりました。
このコードは実際にはバックボーンコレクションに埋め込まれていますが、原則は同じです。
さて、サーバーが受け取ったときに、変数のパラメーターが。ではなくy
リテラル文字列であったとき、私は完全にショックを受けました。"null"
null
少し掘り下げた後、私はそれencodeURIComponent(null)
が文字列を返し、"null"
さらに興味深いことに同様に'' + null
降伏することを発見しました。"null"
これは、Chrome23とFirefox11でテストされました。
最終的にjQuery.param
関数に送信されるオブジェクトは、関数への引数から構築され、nullはパラメーターの完全に有効な値です。オブジェクトをで構築するだけで回避できましたy : param || ''
が、ネイティブJS関数の明らかな誤りと、'' + null = "null"
一般に2つの異なる概念と見なされている理由について、興味があります。