jquery - Ajax 调用未按预期执行
问题描述
我有一个 ajax 调用没有按我的预期执行。我从浏览器收到“jquery-1.10.2.js:8157 Uncaught TypeError: Cannot read property 'FileGuid' of undefined”的错误。在 GetExportData 和 Download 函数的开头,我的 CS 文件中都有断点,但它们中的任何一个都没有被命中。
function generateExportFile() {
var datefrom = $('#tab_MHSubpay_datefrom').ejDatePicker("getValue");
var dateto = $('#tab_MHSubpay_dateto').ejDatePicker("getValue");
var show = $('#tab_MHSubpay_show').ejDropDownList("getSelectedValue");
var service = $('#tab_MHSubpay_serviceType').ejDropDownList("getSelectedValue");
var phase = $('#tab_MHSubpay_phaseCode').ejDropDownList("getSelectedValue");
$('#accwpopup').ejWaitingPopup({
showOnInit: true,
text: "Generating file...",
target: "#tbldata"
});
debugger;
$.ajax({
cache: false,
url: '@Url.Action("GetExportData", "MHSubpay")',
data: {
datefrom: datefrom,
dateto: dateto,
show: show,
service: service,
phase: phase
},
success: function (data) {
$('#accwpopup').ejWaitingPopup('destroy');
window.location = '@Url.Action("Download", "MHSubpay")?fileGuid=' + data.Data.FileGuid + '&filename=' + data.Data.FileName;
},
error: function (data) {
$('#accwpopup').ejWaitingPopup('destroy');
showMessage("An error ocurred trying to generate the file", false);
},
async: false
});
}
解决方案
受影响的行是这一行,因为这是您尝试访问该FileGuid
属性的唯一行:
window.location = '@Url.Action("Download", "MHSubpay")?fileGuid=' + data.Data.FileGuid + '&filename=' + data.Data.FileName;
更具体地说,该行的这一部分:
data.Data.FileGuid
基于 Ajax 请求成功执行,但响应没有Data
属性。
我要做的是console.log(data)
在成功方法的第一行添加一个以查看响应正文中的内容。
旁注:这是在浏览器中运行的 JavaScript 代码,因此在这个运行在服务器端的 CS 文件中放置断点没有多大意义。
推荐阅读
- javascript - 如何在 React-Native 中制作弯曲的导航栏?
- momentjs - 如何创建具有特定时间和特定时区(默认本地时区除外)的 momentJS 对象?
- vue.js - 在 vue 中创建轮播指示器
- c# - C# AWS SDK:在 S3 兼容存储中复制文件时出现虚假 409 冲突错误
- django - Django 连接错误 - django.db.utils.OperationalError: FATAL: password authentication failed for user "postgres"
- c++ - 哈希表打印出默认值,但将项目添加到地址边界错误时
- python - 试图创建一个重复函数的函数
- ansible - ansible:成为和成为_ask_pass
- asp.net - 如何使国家名称成为 Asp.net 核心 Razor 页面中 URL 的一部分
- pyspark - 如何在胶水作业中删除重复的列。由于胶水正在创建重复的列