我面临一个问题,我找不到解决办法。我在我的项目中提出了几个auf ajax请求,所有这些都很好。但是现在,这个ajax请求(与其他请求一样构建)不起作用。
jqueryajax请求
// little bit snipped
var daten = `pid=`+pid+'&aktion='+aktion;
var url = 'inc/ajx.admin.excel-export.php';
$.ajax({ //create an ajax request
type: "GET",
url: url,
data: daten,
dataType: "html", //expect html to be returned
success: function(response){
// some stuff here
}
});
ajax文件
// little bit snipped
$pid = $_GET['pid'];
// some PHP Spreadsheet Stuff
问题
当我在firefox中检查网络内容时,我可以在我的ajax文件上看到一个正确的get请求,其中包含变量“pid=28”和“aktion=excelexport”:
> GET /ebo/inc/ajx.admin.excel-export.php?pid=28&aktion=excelExport HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:90.0) Gecko/20100101 Firefox/90.0
Accept: text/html, */*; q=0.01
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
X-Requested-With: XMLHttpRequest
DNT: 1
Connection: keep-alive
Referer: http://localhost/ebo/admin-uebersicht.php
Cookie: PHPSESSID=d5qpu9jm8ednncbnpjnsv33h8i
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin
但是当ajax文件执行时,变量丢失。我已经试过post和get,结果都是相同的问题。如果我在浏览器中直接调用给定的url,一切正常。我的另一个相同的构建ajax请求也可以正常工作。
希望,任何人都能给我一些输入,我的变量都消失了。
1条答案
按热度按时间i7uq4tfw1#
在我的ajax成功函数中,为了打开生成的excel文件,我有以下行:
结果是,get请求是正确的,但生成的excel是由
window.open(url)
不包含变量的命令。问题解决了。感谢barmer提供的服务器日志提示。
注:答案由op提供