javascript window.location我需要逃脱吗?

时间:2011-03-30 12:52:13

标签: javascript

    var delivery_date = $("#year").val()+'-'+$("#month").val()+'-'+$('#day').val();
    var delivery_time = $("#delivery_time").val();
    var zone = $("#zone").val();
    window.location = window.location+'/'+delivery_date + '/'+ delivery_time + '/'+ zone;

我是否需要在window.location = window.location ... etc

中转义参数

区域可能是空格,引号等等。

3 个答案:

答案 0 :(得分:3)

您需要对参数进行正确的url编码。有关详细信息,请参阅here; encodeURIComponent应该可以正常工作。

答案 1 :(得分:1)

如果你想让php url_encode和url_decode行为使用:

function url_encode(str) {
    str = (str + '').toString();
    return encodeURIComponent(str).replace(/!/g, '%21').replace(/'/g, '%27').replace(/\(/g, '%28'). replace(/\)/g, '%29').replace(/\*/g, '%2A').replace(/%20/g, '+');
}

function url_decode(str) {
    return decodeURIComponent((str + '').replace(/\+/g, '%20'));
}

答案 2 :(得分:0)

使用encodeURIComponent

var zone = encodeURIComponent($("#zone").val());