Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery Ajax总是返回错误_Jquery_Ajax_Asp.net Mvc 3_Razor - Fatal编程技术网

Jquery Ajax总是返回错误

Jquery Ajax总是返回错误,jquery,ajax,asp.net-mvc-3,razor,Jquery,Ajax,Asp.net Mvc 3,Razor,大家好 我在一个糟糕的Ajax调用中遇到了一些问题。 在我的MVC3项目中,我有一个数据库,当用户在朋友列表中添加另一个用户时,该数据库会注册一行 以下是html/Razor代码: @if(!Model.areFriends){ <div id="AddFriendAncor" class="AddButton"><a href="#" id="@Model.theUser.userID" class="Add">Add to friendlist</a&g

大家好

我在一个糟糕的Ajax调用中遇到了一些问题。 在我的MVC3项目中,我有一个数据库,当用户在朋友列表中添加另一个用户时,该数据库会注册一行

以下是html/Razor代码:

@if(!Model.areFriends){
    <div id="AddFriendAncor" class="AddButton"><a href="#" id="@Model.theUser.userID" class="Add">Add to friendlist</a></div>
}
else
{
    <div class ="AddFriendAncor"><a href="#" id="DoneAdding">You are friends</a></div>   
}
您可能会注意到,error函数实际上保存了success函数应该具有的内容。 原因是它是这样工作的。这很糟糕,但我得找点事做

此外,它还向数据库添加了两个实例。这是因为它会动态创建Html,在我创建它时,有没有关于如何解除绑定的想法

编辑:AddFriend函数:

将AddFriend函数改为:

    public virtual ActionResult AddFriend(string ID)
    {
        System.Diagnostics.Debug.WriteLine(ID);
        var friendID = Convert.ToInt32(ID);
        var user = u_rep.GetUser(User.Identity.Name);

        f_rep.AddFriend(user.userID, friendID);
        return Json(true);
    }
我将AddFriend更改为上面的样子,现在Ajax获得了一些东西并返回成功,但我仍然向数据库dispite添加了两次将我的Ajax更改为:

$(".Add").on("click", function (event) {
    event.preventDefault();
    var acceptThisFriend = { "ID": event.target.id };
    $.ajax({
        type: "POST",
        url: "/Profile/AddFriend",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        data: JSON.stringify(acceptThisFriend),
        success: function () { $("#AddFriendAncor").replaceWith("<p>Vini bætt við</p>"); },
        error: function ()
        {
            alert("fail");
        }
    });
});
$(.Add”)。在(“单击”)上,函数(事件){
event.preventDefault();
var acceptThisFriend={“ID”:event.target.ID};
$.ajax({
类型:“POST”,
url:“/Profile/AddFriend”,
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
数据:JSON.stringify(acceptThisFriend),
成功:函数(){$(“#AddFriendAncor”).replacetwith(“vinibætt við

”), 错误:函数() { 警报(“失败”); } }); });
将成功函数更改为如下所示:

success: function () { $("#AddFriendAncor").replaceWith("<p>Friend added</p>").unbind('click'); },
success:function(){$(“#AddFriendAncor”)。替换为(“Friend added

”)。取消绑定('click');},
现在它只发射一次。
修改后的AddFriend函数确保Ajax得到了一些响应。stringify(acceptThisFriend)返回什么,以及
/Profile/AddFriend
返回什么?您的
/Profile/AddFriend
方法看起来像什么?你能把它添加到你的帖子里吗?很抱歉回答晚了@karthikr stringify返回要添加的朋友的ID。AddFriend没有返回任何内容,它是无效的。这可能是问题所在吗?我不能将AddFriend函数声明为静态函数,因为我必须使用:User.Identity.NameNo。。只要有一个200,它就会调用
success
方法
success: function () { $("#AddFriendAncor").replaceWith("<p>Friend added</p>").unbind('click'); },