8

URLを取得するためにajaxを使用しています。問題は、URLにスラッシュが含まれていて、JQueryの読み込みが単語の後に行われると、ページが読み込まれないことです。

AJAXサクセスビット:

success: function(data) {
 $('#OPTcontentpanel').load(data.OPTpermalink);

PHP

echo json_encode( array('OPTpermalink'=>$OPTpermalink,));

そして応答

http:\/\/www.divethegap.com\/update\/options\/padi-open-water\/

したがって、スラッシュを取り除く必要があります。PHPでそれを行う方法は知っていますが、AJAXJavaScript。

何か案は?

素晴らしい

4

5 に答える 5

27

古い質問に対する新しい回答:

String.prototype.stripSlashes = function(){
    return this.replace(/\\(.)/mg, "$1");
}

使用例:

var str = "You\'re slashed \/\\..\/\\"; // Text from server
str = str.stripSlashes() ;

出力:

You're slashed /\../\
于 2013-01-31T10:04:18.127 に答える
7

これは古い投稿ですが、自分の回答を追加すると思っていましたが、ここにある他の回答よりも効率的です。

var url = "http:\/\/www.divethegap.com\/update\/options\/padi-open-water\/"

var res = url.replace(new RegExp("\\\\", "g"), "");

これにより、バックスラッシュ文字のすべての出現が何も置き換えられません。

于 2014-04-02T02:51:13.657 に答える
6

ここを含む多くのphpのコア関数の良いポートがありstripslashesます: http://phpjs.org/functions/stripslashes/

function stripslashes (str) {
  // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
  // +   improved by: Ates Goral (http://magnetiq.com)
  // +      fixed by: Mick@el
  // +   improved by: marrtins
  // +   bugfixed by: Onno Marsman
  // +   improved by: rezna
  // +   input by: Rick Waldron
  // +   reimplemented by: Brett Zamir (http://brett-zamir.me)
  // +   input by: Brant Messenger (http://www.brantmessenger.com/)
  // +   bugfixed by: Brett Zamir (http://brett-zamir.me)
  // *     example 1: stripslashes('Kevin\'s code');
  // *     returns 1: "Kevin's code"
  // *     example 2: stripslashes('Kevin\\\'s code');
  // *     returns 2: "Kevin\'s code"
  return (str + '').replace(/\\(.?)/g, function (s, n1) {
    switch (n1) {
    case '\\':
      return '\\';
    case '0':
      return '\u0000';
    case '':
      return '';
    default:
      return n1;
    }
  });
}
于 2013-02-23T00:23:05.997 に答える
3

JSON を送信していますが、HTML 要素に直接挿入しています。それは賢明ではなく、壊れた結果を生み出す可能性があり、そもそもやりたいことではないでしょう。

あなたはおそらくどちらかをすべきです

  • PHP スクリプトの出力を変更して適切な HTML を作成する

  • JavaScript側でJSONを期待します(jQueryのdataTypeパラメーターまたは省略形を使用して$.json()、それを解析します

于 2011-03-16T13:43:07.423 に答える
0

string.replace を試しましたか?

success: function(data) {
 $('#OPTcontentpanel').load(data.OPTpermalink.replace("\\", ""));
于 2011-03-16T13:44:13.883 に答える