Ajax、すでにエンコードされた値を渡します -- javascript フィールド と ajax フィールド 関連 問題

Ajax, pass already encoded value












2
vote

問題

日本語

Ajaxデータを通して符号化された値を渡そうとしていますが、それをさらにエンコードし続けます。 Ajaxでのエンコーディングを防ぐにはどうすればいいですか?

私のAjaxコード:

<事前> <コード> $.ajax({ url: form.attr("action"), data: { 'at': ajax_params['at'], }, type: form.attr("method"), success: function (data) { alert('Success'); } });

<コード> ajax_params['at'] = 2%2C+4

ここで、2と4は値である場合、%2Cはカンマと+の空きです。値は複数のコンマでより長くなる可能性があります。

Ajaxの送信後の電流出力:

AT = 2%252C%2B4

予想出力:

AT = 2%2C + 4

英語

I'm trying to pass encoded value through AJAX data but it keeps encoding it further. How can I prevent encoding in AJAX?

My ajax code:

    $.ajax({         url: form.attr("action"),         data: {             'at': ajax_params['at'],         },         type: form.attr("method"),         success: function (data) {             alert('Success');         }     }); 

Value in ajax_params['at'] = 2%2C+4

where 2 and 4 is value, %2C is comma and + is space. The value can be longer with multiple commas.

Current output after AJAX submit:

at=2%252C%2B4

Expected output:

at=2%2C+4

</div
     

回答リスト

1
 
vote
vote
ベストアンサー
 

文字列を使用して data を設定することができます。

<事前> <コード> data: "at=" + ajax_params['at'],

またはそれを復号するように復号するように、再度エンコードされると、ダブルエンコードされていません:

<事前> <コード> data: { 'at': decodeURIComponent(ajax_params['at']) },

サイド注:リテラルのプロパティ名または 'success'=> "function(response) { var data = $.parseJSON(response); if(data.status == 'success') { $('#mydialog').load('/whowithme/signup/finalstep'); } }" 1 'success'=> "function(response) { var data = $.parseJSON(response); if(data.status == 'success') { $('#mydialog').load('/whowithme/signup/finalstep'); } }" 0 の括弧表記と引用符を使用する必要はありません。 >:

<事前> <コード> 'success'=> "function(response) { var data = $.parseJSON(response); if(data.status == 'success') { $('#mydialog').load('/whowithme/signup/finalstep'); } }" 2

'success'=> "function(response) { var data = $.parseJSON(response); if(data.status == 'success') { $('#mydialog').load('/whowithme/signup/finalstep'); } }" 3 はJavaScriptのキーワードまたは予約語ではありません(そして2009年のES5以降であったとしても - プロパティの作成とアクセス式のunquotedのキーワードを使用した場合でも、その言語ではunquotedのキーワードを使用して使用していた場合でも) )

 

You can either set data using a string:

data: "at=" + ajax_params['at'], 

or decode it so that when it gets encoded again, it's not double-encoded:

data: {     'at': decodeURIComponent(ajax_params['at']) }, 

Side note: You don't need to use brackets notation and quotes for the property at, either in the property name in the literal or when looking it up on ajax_params:

data: {     at: decodeURIComponent(ajax_params.at) }, 

at isn't a keyword or reserved word in JavaScript (and even if it were, as of ES5 — back in 2009 — using unquoted keywords in property creation and access expressions was enabled in the language).

</div
 
 
   
   
0
 
vote

送信する前にデコード

<事前> <コード> 'success'=> "function(response) { var data = $.parseJSON(response); if(data.status == 'success') { $('#mydialog').load('/whowithme/signup/finalstep'); } }" 4
 

Decode it before sending

data: {   at: decodeURIComponent(ajax_params['at']) }, 
</div
 
 

関連する質問

20  Ajax WebControlsへの簡単な方法  ( Easy way to ajax webcontrols ) 
私は最適化しようとしているWebアプリケーションを持っています。一部のコントロールは、ダイアログスタイル<コード> DIVs に隠されています。そのため、ユーザーがそれらを見たい場合にのみ、Ajaxを介して読み込んでください。これは、主にリテラルベース(さまざ...

0  UserControlのAjaxtoolキットポップアップ  ( Ajaxtool kit popup in usercontrol ) 
私はユーザーコントロールでUserControlを使用したページを持っています私はAjaxToll Kit Popupウィンドウを使用してユーザーコントロールのDIVをロードするPASE ISPOSTBACKがfalseの場合、ページが初めてページの場合ロード...

0  動的に作成されたコンテンツ上でjQuery show /非表示の実行  ( Performing jquery show hide on dynamically created content ) 
jQueryで作成したページを持っていて、このページではテーブル行が特定の色としてそれらを識別するクラス名(すなわちTR Class = "YellowClass")があるテーブルです。 ユーザーは、特定の色のテーブルを表示/非表示にするチェックボックスを...

1  ASP.NET Ajax、時々ハングアップします  ( Asp net ajax hangs sometimes ) 
私のプロジェクトでASP.NET AJAXを使用します。そして状態管理のためのセッションを使用しています。 いくつかのコードでは、UCSを含むMODALPOPを持っています。 UpdatePanelを使用する場合は、ポップアップを開くと、長時間の進行状況バー...

2  jQueryのAjaxForm  ( Ajaxform in jquery ) 
Ajaxformを使用しています。今私は問題に遭遇しました。私のアイデアは、ユーザーがユーザー名を入力したときに、誤ったユーザー名がユーザーにメッセージを報告する必要があります。 私のコードはうまくいっていますが、ユーザーに表示されたレポートメッセージの後、...

167  現在の状態に一致するようにAjaxアプリでアドレスバーのURLを変更する  ( Modify address bar url in ajax app to match current state ) 
私はAjaxアプリを書いていますが、ユーザーがアプリを進むにつれて、ページリロードが不足しているにもかかわらず、アドレスバーのURLが更新されます。基本的に、私は彼らのために任意の時点でブックマークすることができるようにしたいと思います。 Ajaxアプリで...

11  スライド後のjQueryスライダコール機能  ( Jquery slider call function after slide ) 
私はWebアプリケーション上でスコアを設定するために使用しているjQuery Silderを持っています。ユーザーが送信ボタンをクリックしたが、クライアントはAjaxスタイルを更新するようになったままにするようにOrignallyにいました。 これは見つけられ...

1  ajax.updater div(プロトタイプ)で機能しないライトボックス  ( Lightbox not working in ajax updater div prototype ) 
Ajax.Updater 呼び出しを使用して、DIVで単一のレンタルリストの情報を作成しています。すべてのレンタルリストのドロップダウンメニューがオフになっていますが、ユーザーがリストを選択するまでDIVは非表示になり、その場合はJavaScriptの効果...

0  $ .ajaxとwebmethod / pagemethods  ( Ajax and webmethod pagemethods ) 
パラメータを持っていないPageMethodを呼び出しようとしています、そして私はそれを作業するように思われることはできません。 PageMethodに単一のパラメータがある場合は、大丈夫です。 <事前> <コード> $.ajax({ type: "PO...

13  ASP.NET AJAX / ICALLBACKEventHandlerを使用したトラッキング状態  ( Tracking state using asp net ajax icallbackeventhandler ) 
ASP.NET AJAXページに状態を維持することに問題があります。ショートバージョン:ASYNC呼び出し中に行われたサーバーの変更を反映するように、ASYNCコールバックが行われた後にページビューステートを更新する方法が必要です。 これは一般的な問題のよ...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有