你需要使用两个调用- 1 get和1 post在ajax或你可以发送数据与成功/失败
Do you need to use two calls - 1 get and 1 post in ajax or can you send data back with the success / failure?
我有以下控制器方法:
public JsonResult CreateGroup(String GroupName)
{
ApplicationUser user;
var userName = User.Identity.Name;
using (DAL.GDContext context = new DAL.GDContext())
{
user = context.Users.FirstOrDefault(u => u.UserName == userName);
if (user != null)
{
var group = new Group();
group.GroupName = GroupName;
group.Members.Add(user);
context.Groups.Add(group);
context.SaveChanges();
}
}
string result = userName;
return Json(result, JsonRequestBehavior.AllowGet);
}
with the following ajax call:
$(function () {
$('#CreateGroup').on("click", function () {
var groupName = $('#groupname').val();
if (groupName != '') {
$.ajax({
url: '@Url.Action("CreateGroup","AjaxMethods")',
type: "POST",
data: JSON.stringify({ 'GroupName': groupName }),
dataType: "json",
cache: false,
contentType: "application/json; charset=utf-8",
success: function (data) {
alert("success");
CreateGroup(data);
},
error: function () {
alert("An error has occured!!!");
}
});
}
});
CreateGroup函数失败,提示"Uncaught ReferenceError: data is not defined"
我是否必须使用另一个Json请求类型的帖子来获取用户名?
您可以不使用JSON.stringify进行调用。此外,您的控制器方法有一个缓存属性,可以产生更多的控制。就我个人而言,我会使用控制器缓存控制。在返回数据之前,您可能会获得缓存版本的控制器调用。
[OutputCache(NoStore = true, Duration = 0)]
public ActionResult CreateGroup(string GroupName)
$.ajax({
url: '@Url.Action("CreateGroup","AjaxMethods")',
type: "POST",
data: { 'GroupName': groupName },
dataType: "json",
traditional: true,
success: function (data, status, xhr ) {
alert("success");
CreateGroup(data);
},
error: function () {
alert("An error has occured!!!");
}
});
相关文章:
- 带有对象解析的响应javascript ajax失败
- 使用 插入 AJAX 失败
- 本地文件上的Windows Phone 8 jQuery.ajax失败
- ASP.NET Ajax - 失败 - 获取错误文本
- 将数据数组传递给 $.ajax 失败
- aJax REST API调用-Curl在aJax失败时工作
- 或者,如果ajax失败,则通过php加载页面
- jQuery Ajax失败时成功回调
- 使用statusCode处理jQuery AJAX失败
- Ajax失败5%的时间,响应是“错误”
- jQuery ajax失败*有时* (ERR_EMPTY_RESPONSE)在Chrome和Safari
- Jquery Ajax失败…随机获得成功
- 如何使ajax失败可见
- jQuery AJAX失败,在成功响应200时显示404
- jQuery ajax失败总是触发(即使成功)
- 当使用setRequestHeader时,在IIS (ASP.net)上使用CORS的跨站点AJAX失败
- Rails不引人注目的ajax:失败事件未触发
- AJAX失败,尽管它'It’他没有失败
- 在jQuery上正常重新发送HTML表单ajax失败
- Ajax失败,但当我直接访问URL时,调用成功