Heim > Web-Frontend > js-Tutorial > So übergeben Sie Sonderzeichen basierend auf javascript_javascript-Tipps

So übergeben Sie Sonderzeichen basierend auf javascript_javascript-Tipps

WBOY
Freigeben: 2016-05-16 15:28:43
Original
1230 Leute haben es durchsucht

Bevor wir auf den richtigen Weg kommen, möchte ich Ihnen zunächst JavaScript-Sonderzeichen vorstellen

Sie können in JavaScript Backslashes verwenden, um Textzeichenfolgen Sonderzeichen hinzuzufügen.

Sonderzeichen einfügen

Backslashes werden verwendet, um Ellipsen, Zeilenumbrüche, Anführungszeichen und andere Sonderzeichen in Textzeichenfolgen einzufügen.

Bitte sehen Sie sich den folgenden JavaScript-Code an:

var txt="We are the so-called "Vikings" from the north."
document.write(txt)
Nach dem Login kopieren

In JavaScript verwenden Zeichenfolgen am Anfang oder Ende einfache oder doppelte Anführungszeichen. Dies bedeutet, dass die obige Zeichenfolge wie folgt gekürzt wird: Wir sind die sogenannten.
Um dieses Problem zu lösen, müssen Sie den Anführungszeichen in „Viking“ einen Backslash () voranstellen. Dadurch wird jedes doppelte Anführungszeichen in eine Literalzeichenfolge umgewandelt.

var txt="We are the so-called \"Vikings\" from the north."
document.write(txt)
Nach dem Login kopieren

Das JavaScript gibt nun die richtige Textzeichenfolge aus: Wir sind die sogenannten „Wikinger“ aus dem Norden.

Hier ist ein weiteres Beispiel:

document.write ("You \& me are singing!") 
Nach dem Login kopieren

Das obige Beispiel erzeugt die folgende Ausgabe:

You & me are singing!
Nach dem Login kopieren

In der folgenden Tabelle sind die verbleibenden Sonderzeichen aufgeführt, die mithilfe von Backslashes zu Textzeichenfolgen hinzugefügt werden können:

Code Ausgabe
' Einfache Anführungszeichen
" Doppelte Anführungszeichen
& kaufmännisches Und
\ Backslash
n Zeilenumbruch
r Wagenrücklaufzeichen
t Tab
b Rücktaste
f Seiten-Feed

Hintergrund:

Als ich heute eine Aufgabe erledigte und eine lange Zeichenfolge mit jquery übergab, war die Überprüfung im Hintergrund immer erfolglos (die Zeichenfolge wurde zufällig generiert, eine Besonderheit). Den ganzen Morgen stellte sich heraus, dass die von mir generierte Zeichenfolge eine Zahl enthält. Wenn sie von js übergeben wird, wird sie als Verbindungszeichen verstanden und die Zahl wird im Hintergrund automatisch in ein Leerzeichen geändert Die im Hintergrund generierte Zeichenfolge unterscheidet sich von der in der Rezeption generierten Zeichenfolge.

Grund:

Sonderzeichen werden nach js automatisch analysiert. Am ist beispielsweise ein Konnektor, der als Leerzeichen analysiert wird, und & ist ein variabler Konnektor. Wenn der Server Daten akzeptiert, werden die Daten nach & usw. nicht angezeigt.

Lösung:

1. Geben Sie die Zeichen in das Formular ein und senden Sie das Formular dann mit js an den Server.
2. Ersetzen Sie die Sonderzeichen in den Zeichen durch Hexadezimalzeichen. Die Entsprechung zwischen einigen Sonderzeichen und Hexadezimalzeichen:

Weltraum / ? % & = #
+ / ? % & &3d #

str = str.replace(/\+/g,%2b); 将+号替换为十六进制

3、最简单地一种,使用encodeuricomponent()函数.  

  该方法不会对 ascii 字母和数字进行编码,也不会对这些 ascii 标点符号进行编码: - _ . ! ~ * ' ( ) .
其他字符(比如 :;/?:@&=+$,# 这些用于分隔 uri 组件地标点符号),都是由一个或多个十六进制地转义序列替换地.

jQuery ajax特殊字符参数

在做ajax登录时候遇到的一个问题,当传入参数含有特殊字符,比如:“$'#@”等。参数传递会有问题,无法正确获取。

$.ajax({
  url: '/user/login.ydd',
  type:'post',
  data:'name=abce&password=abcd&pwd',
  success: function(data){
  }
})

Nach dem Login kopieren

我要传入的是用户名为:abc,密码为abcd&pwd的用户登录。但传入后台获取参数,会被password=abcd当作一个参数传递,&这个特殊将pwd分开了作为另一个参数解析了。

解决方法,这时候就需要ajax另外一种传递参数的方式

$.ajax({
  url: '/user/login.ydd',
  type:'post',
  data:{'name':'abce','password':'abcd&pwd'},
  success: function(data){
 
  }
})
Nach dem Login kopieren
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage