我的ajax调用控制器并成功发送参数,但我想在提交页面之前向我的用户显示警告。为什么我的警报没有显示。这是我正在使用的。如果可以,请你帮助我。谢谢!
var theParms = { selectedDate: "date", testing: "myTester" };
$("#saveBtn").click(function () {
$.ajax({
type: "GET",
url: "/Error/TimeCheck",
data: theParms,
datatype: "html",
success: function (data) {
alert(data);
}
});
});
public ActionResult Timecheck( string selectedDate, string testing)
{
return Content("hello " + selectedDate);
}
答案 0 :(得分:0)
您的客户端希望Ajax调用返回HTML数据(datatype: "html"
)。但是,您的ASP.NET MVC控制器方法只返回一个字符串。它甚至没有设置内容类型。
在服务器端返回正确的HTML响应或在客户端修复预期的数据类型以匹配服务器返回的任何内容。如果您使用Chrome的开发者工具,则可以在网络视图中轻松查看有效的内容类型。
我建议你解决这个问题:
var theParms = { selectedDate: "date", testing: "myTester" };
$("#saveBtn").click(function () {
$.ajax({
type: "GET",
url: "/Error/TimeCheck",
data: theParms,
datatype: "text",
success: function (data) {
alert(data);
}
});
});
public ActionResult Timecheck( string selectedDate, string testing)
{
return Content("hello " + selectedDate, "text/plain");
}
答案 1 :(得分:0)
ajax是异步的,因此它会跳过成功部分。您可以通过更改“async:false”属性来更改ajax的异步bevavious。你可以试试这个:
var theParms = { selectedDate: "date", testing: "myTester" };
$("#saveBtn").click(function () {
$.ajax({
type: "GET",
url: "/Error/TimeCheck",
data: theParms,
async:false,
datatype: "html",
success: function (data) {
alert(data);
}
});
});