如何解码包含html元素的javascript变量值

时间:2015-05-18 13:27:35

标签: javascript php jquery html ajax

我有一个带有一些文本和锚标记元素的变量,比如

var success_msg = 'Please <a href="javascript:void(0);" id="popup-login" class="login" title="Login">login</a> to save your wishlist.';

现在这个变量我传递给ajax,这条消息显示ajax成功时弹出窗口。

Ajax代码:

var success_msg = 'Please <a href="javascript:void(0);" id="popup-login" class="login" title="Login">login</a>+ to save your wishlist.';
$.ajax({
    type: "POST",
    url: BASE_URL+"home/featherlightInfo",
    data: "success_msg="+success_msg,
    success: function (html) {
        $('#loading-div').hide(); // Hide Ajax loader
        $('#featherlightInfoPop').html(html);
        $.featherlight('#featherlightInfo');                    

        setTimeout(function(){
            $(".featherlight-close").trigger("click");
        }, 5000);

        $('#feathre').addClass('login-feathre');
    }
});

Everythig工作正常,但在弹出式HTML中我得到这样的锚标记:

<a title="\&quot;Login\&quot;" class="\&quot;login\&quot;" id="\&quot;popup-login\&quot;" href="\&quot;javascript:void(0);\&quot;">login</a>`

奇怪的是,这段代码在我的本地服务器上工作得很好。

我想要这个结果:Please <a href="javascript:void(0);" id="popup-login" class="login" title="Login">login</a> to save your wishlist.

那么如何才能获得正确的锚元素?

2 个答案:

答案 0 :(得分:0)

尝试javascript的encodeURI功能:

var success_msg = 'Please <a href="javascript:void(0);" id="popup-login" class="login" title="Login">login</a>+ to save your wishlist.';
var encode_msg = encodeURI(success_msg);

For more read documentation

OR

您可以在ajax请求中传递标记消息,并在此基础上您可以在服务器端创建此'Please <a href="javascript:void(0);" id="popup-login" class="login" title="Login">login</a>+ to save your wishlist.'; HTML代码。这将是一个很好的做法。

答案 1 :(得分:0)

根据jquery ajax:当您向服务器发送数据时,它将被转换为查询字符串,因此引号被转义。

  

data选项可以包含表单的查询字符串   key1 = value1&amp; key2 = value2,或{key1:&#39; value1&#39;形式的对象,   key2:&#39; value2&#39;}。如果使用后一种形式,则转换数据   在发送之前使用jQuery.param()将查询字符串转换为查询字符串。这个   通过将processData设置为false可以避免处理。该   如果您希望发送XML对象,则可能不希望进行处理   服务器;在这种情况下,请更改contentType选项   application / x-www-form-urlencoded为更合适的MIME类型。