簡體   English   中英

Ajax調用成功現在正在工作 - 傳遞JSON對象[String]

[英]Ajax Call Success Now Working - Passing JSON Object [String]

我正在嘗試在我的應用程序中開發一些驗證,以檢查數據庫中是否存在函數名稱 而不是使用SQL我想使用ajax傳遞這些數據。

不幸的是,當嘗試傳遞這個JSON(String)對象時response永遠不會success: function (response)傳遞success: function (response) ,我收到一條錯誤消息。

我希望有一些建議,為什么會發生這種情況,因為我相信我的代碼是在正確的格式內才能成功完成。

我嘗試將數據類型更改為text ,並且還包含contentType: 'application/json; charset=utf-8 contentType: 'application/json; charset=utf-8但這並沒有幫助解決這個問題。

function AllowedFunction(FunctionName) {
    var result = "None";        
    $.ajax({
        url: '@Url.Action("FunAllowed")',
        type: "POST",            
        dataType: "JSON",
        data: { FunctionName: FunctionName },
        success: function (response) {
            if (response.length > 0)
            {
                result = "True";
            }
            else
            {
                result = "False";
            }              
            }            
    });
    return result;
}



    // VAL: Function Name Allowed
    public JsonResult FunAllowed(string FunctionName)
    {            
        var records = db.Functions.Where(x => x.FunctionName == FunctionName).ToList();
        string result = "False";

        if (records.Count > 0)
            result = "True";

        return Json(records, JsonRequestBehavior.AllowGet);
    }

ReferenceError:響應未在eval中定義(eval at AllowedFunction( http:// localhost:52613 / Functions / Create:50:9,: 1:1) 1。message :“response is not defined” 2。stack :“ ReferenceError:未定義響應

我想這可能是因為你的FunAllowed函數期望一個string ,但是你傳遞的是一個名為FunctionName屬性object ,它是一個string

我想如果你這樣做,它可能會工作而不改變你的JS代碼:

class FunAllowedinput
{
    public string FunctionName{get;set;}
}
public JsonResult FunAllowed(FunAllowedInput input)
{            
    var records = db.Functions.Where(x => x.FunctionName == input.FunctionName).ToList();
    string result = "False";

    if (records.Count > 0)
        result = "True";

    return Json(records, JsonRequestBehavior.AllowGet);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM