UncauthtSyntaxError:Unexpected token ILLEGAL jsエラー
3353 ワード
最近amazeuiのフレームワークでwebappを書いて、中間テストのバックグラウンドで文字の内容をアップロードした後、あるモジュールはクリックして次のインタフェースに入ることができて、あるモジュールはできません.モジュールがクリックできない場合は、開発者ツールにUncauthtSyntaxError:Unexpected token ILLEGALのjsエラーが表示されますが、後で文字にスペースがあるため、1つの方法でスペース付きコンテンツを渡すと問題が発生することがわかります.また、この問題には他にも原因があります.以下にまとめます.
1、スペース付きパラメータを渡す
私が犯したエラーは、スペース付きのパラメータを渡したことです.contentはバックグラウンドから取得したパラメータの内容です.
伝達されたcontentパラメータの内容にスペースがある場合、またはjs後に自動的に特殊文字を解析します.例えば、+番号がコネクタ、スペースに解析、&変数コネクタ、サーバ側がデータを受信した場合&以降のデータは表示されません.jsはエラーを報告し、解決方法:
(1)バックグラウンド管理システムからスペース付きjsonデータをアップロードする場合,バックグラウンドプログラムによりスペースをフィルタリングすることができる.
(2) 1.jsプログラムでは、スペースまたは特殊文字を16進数の文字に置き換えることができます.
2.最も簡単なのはescape関数を使って処理します
2、もう一つの原因は、パラメータを渡すときに、パラメータの書き方が間違っていたり、多引用符や少引用符などの書き方が間違っていたりすることです
パラメータは文字列ですが、引用符で囲まれていないため、この例外が発生しました.
1、スペース付きパラメータを渡す
私が犯したエラーは、スペース付きのパラメータを渡したことです.contentはバックグラウンドから取得したパラメータの内容です.
onclick =\"sortlist('"+a.id+"','"+a.logo+"','"+a.content+"')\"
伝達されたcontentパラメータの内容にスペースがある場合、またはjs後に自動的に特殊文字を解析します.例えば、+番号がコネクタ、スペースに解析、&変数コネクタ、サーバ側がデータを受信した場合&以降のデータは表示されません.jsはエラーを報告し、解決方法:
(1)バックグラウンド管理システムからスペース付きjsonデータをアップロードする場合,バックグラウンドプログラムによりスペースをフィルタリングすることができる.
(2) 1.jsプログラムでは、スペースまたは特殊文字を16進数の文字に置き換えることができます.
2.最も簡単なのはescape関数を使って処理します
$.ajax({
type:"POST",
contentType:"application/json",
url:"http://"+url+"/shouyou/pushList.do",
data:userjson,
dataType:"json",
success:function (data) {
var contentEscape =escape(data.data.content);
2、もう一つの原因は、パラメータを渡すときに、パラメータの書き方が間違っていたり、多引用符や少引用符などの書き方が間違っていたりすることです
パラメータは文字列ですが、引用符で囲まれていないため、この例外が発生しました.