这个Ajax代码完美运行是我在本地机器上运行程序。但是,一旦我们将它放在DEV服务器上,我们就会收到404错误。该站点是一个与MV数据库通信的ASP MVC3站点,该站点的其余部分没有问题。我是Ajax的新手,所以我不太确定在哪里看。这也是IIS的问题吗?
Ajax代码
var request = $.ajax({
type: 'POST',
url: '/BatchPrograms/PopDetails',
data: { 'programName': pgmname },
dataType: 'text',
success: function (data) {
console.log(data);
alert(data);
//$('#data').dialog('open');
},
error: function (data) {
console.log(data)
alert("Unable to process your resquest at this time.");
}
});
Chrome的控制台错误消息:
POST http://insideapps.dev.symetra.com/BatchPrograms/PopDetails 404 (Not Found)
send jquery-1.8.3.js:8434
jQuery.extend.ajax jquery-1.8.3.js:7986
GetProgramDetails BatchDashboard:51
onclick BatchDashboard:165
Chome的网络错误消息
Name (Path) Method Status (Text) Type Initiator Size Time (Latency)
PopDetails POST 404 Not Found Text/Html jquery-1.8.3.js:8434 1.8KB 21ms
/BatchPrograms Script 1.6KB 17ms
答案 0 :(得分:4)
尝试将网址修改为
url: '@Url.Action("PopDetails", "BatchPrograms")'
答案 1 :(得分:1)
尝试使用Url.Action()
帮助程序从应用程序中定义的表路径中获取路径。
var request = $.ajax({
type: 'POST',
url: '@Url.Action("PopDetails", "BatchPrograms")',
data: { 'programName': pgmname },
dataType: 'text',
success: function (data) {
$('#data').dialog('open');
},
error: function (data) {
alert("Unable to process your resquest at this time.");
}
});