Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
来自文件名的Javascript相对路径(不带windows.location)_Javascript_Ajax - Fatal编程技术网

来自文件名的Javascript相对路径(不带windows.location)

来自文件名的Javascript相对路径(不带windows.location),javascript,ajax,Javascript,Ajax,假设我需要使用文件名的相对路径发出AJAX请求,而不使用windows.location(由于客户特定的请求) 因此,在一个缩略页面上:mywebsite/myfolder/mypagename,我需要做如下操作: $.get( "./data/mydata.json", function( data ) { .... }); $.get(“./data/mydata.json”,函数(数据){ .... }); 这样做,请求指向:mywebsite/myfolder/data/mydata

假设我需要使用文件名的相对路径发出AJAX请求,而不使用
windows.location
(由于客户特定的请求)

因此,在一个缩略页面上:
mywebsite/myfolder/mypagename
,我需要做如下操作:

$.get( "./data/mydata.json", function( data ) { .... }); $.get(“./data/mydata.json”,函数(数据){ .... }); 这样做,请求指向:
mywebsite/myfolder/data/mydata.json
,但我需要它指向:
mywebsite/myfolder/mypagename/data/mydata.json


有什么办法吗?我还尝试了
“~/data/mydata.json”
,但似乎像
“/data…”

因为我的要求似乎不可能,所以在发送任何ajax调用之前,我在url上使用带有验证正则表达式的windows.location.pathname:

if (! ( /([<>]|javascript:)/.test(decodeURIComponent(apiUrl)) )) { ... do the call } else { window.location.href = '/404'; } if(!(/([]| javascript:)/.test(decodeURIComponent(apirl))){ …打电话 }否则{ window.location.href='/404'; }
希望它可以帮助其他人

因为我的要求似乎不可能,在发送任何ajax调用之前,我正在使用带有url验证正则表达式的windows.location.pathname:

if (! ( /([<>]|javascript:)/.test(decodeURIComponent(apiUrl)) )) { ... do the call } else { window.location.href = '/404'; } if(!(/([]| javascript:)/.test(decodeURIComponent(apirl))){ …打电话 }否则{ window.location.href='/404'; }
希望它可以帮助其他人

我认为如果不使用windows,您无法做到这一点。location无法使用windows。location因客户要求而无法使用。它会产生一些SAST后果,客户不想使用它。因此,请像处理图像、CSS、JavaScript等一样使用相对路径……我认为如果不使用windows,您无法执行此操作。由于客户的请求,location无法使用windows.location。它有一些SAST的后果,客户不想使用它。所以像你对图像、CSS、JavaScript等使用相对路径……这如何回答你最初的问题?它没有。这是一个演练:我让我的客户接受使用windows.location,但我对url进行了检查,以防止处理在url上编写的任何js。因此,如果有人调用这样的页面:/mypage/alert(“我会攻击你”),regexp会重定向到404。我不确定XSS会如何影响你。。。我仍然想知道为什么你不能使用相对路径。这如何回答你最初的问题?它没有。这是一个演练:我让我的客户接受使用windows.location,但我对url进行了检查,以防止处理在url上编写的任何js。因此,如果有人调用这样的页面:/mypage/alert(“我会攻击你”),regexp会重定向到404。我不确定XSS会如何影响你。。。我仍然想知道为什么不能使用相对路径。