附加路径url到Javascript对象

Append path url to Javascript object

本文关键字:Javascript 对象 url 路径      更新时间:2023-09-26

我最初定义了perl变量

$delimit ="C";
$filename=''aemdata.fcc.com'aem'GE'2015'Files'list.txt
我曾经在javascript中使用那些perl变量。每当用户单击save时,上述变量将通过ajax传递,后端perl子例程将基于上述参数执行。下面是代码。
var form_data = new FormData();
form_data.append('action', "File_Check"); //perl subroutine which is called 
form_data.append('delimit', "$delimit");
form_data.append('jsondata', data);
'$.ajax({
    url: http://aemdata.fcc.com/cgi-bin/test/excel.pl, // directed to url where that perl subroutine is placed
    contentType: false,
    processData: false,
    type: 'post',
    data: form_data,
    cache:false,
    datatype: "script",
    success: function (result) {
    },
    error: function (data) {
    }   
});

这段代码运行良好。现在不再在开始时指定$filename。我想动态添加它作为参数。将其附加到javascript对象,并将其与其他参数一起传递给子例程perl代码。这是我得到错误

的第二个代码
var form_data = new FormData();
form_data.append('action', "File_Check"); //perl subroutine which is called 
form_data.append('delimit', "$delimit");
form_data.append('jsondata', data);
form_data.append('filename', "$filename"); //ERROR ON THIS LINE

'$.ajax({
    url: http://aemdata.fcc.com/cgi-bin/test/excel.pl, // directed to url where that perl subroutine is placed
    contentType: false,
    processData: false,
    type: 'post',
    data: form_data,
    cache:false,
    datatype: "script",
    success: function (result) {
    },
    error: function (data) {
    }   
});

这个追加不起作用。它在上面代码的第5行给了我一个类似"未捕获的语法错误:意外的令牌非法"的错误。如果我能把它和其他参数一起传递,子例程就会被调用,代码就会运行得很好。然而,我无法通过URL使用追加。

谁能给点建议吗?任何输入将高度赞赏。

生成的字符串包含反斜杠,这是JavaScript中的转义字符。您需要使用正确的转义符号来处理任何特殊字符,例如,用''代替'来表示反斜杠。

如上所述,对代码进行以下更改可以正常工作。一旦我得到动态路径,我使用正则表达式,然后将其附加到javascript对象。

代码如下:

$filename=~ s/''/''''/g;
form_data.append('filename', "$filename");