Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/281.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
Javascript Ajax调用返回未定义的数据_Javascript_C#_Jquery_Ajax_Asp.net Mvc - Fatal编程技术网

Javascript Ajax调用返回未定义的数据

Javascript Ajax调用返回未定义的数据,javascript,c#,jquery,ajax,asp.net-mvc,Javascript,C#,Jquery,Ajax,Asp.net Mvc,我有一个ajax调用,它从MVC控制器方法请求数据 我正在从控制器返回Json结果。 Ajax请求完成,但返回的数据未定义。Ajax调用 控制器方法 谁能告诉我为什么存在返回为未定义更新 正如下面所建议的,我将数据写入了控制台,它似乎返回了一个空字符串。因此,我想问题应该是更多的“为什么数据返回空?”通过complete选项指定的函数(原因很好:即使没有数据,也会调用它,因为有错误)。将完成:更改为成功: var req = $.ajax({ url: serviceURL,

我有一个ajax调用,它从MVC控制器方法请求数据
我正在从控制器返回Json结果。

Ajax请求完成,但返回的数据未定义。

Ajax调用


控制器方法



谁能告诉我为什么
存在
返回为未定义

更新

正如下面所建议的,我将数据写入了控制台,它似乎返回了一个空字符串。因此,我想问题应该是更多的“为什么数据返回空?”

通过
complete
选项指定的函数(原因很好:即使没有数据,也会调用它,因为有错误)。将
完成:
更改为
成功:

var req = $.ajax({
    url: serviceURL,
    type: "POST",

    data: JSON.stringify(param),

    contentType: "application/json",

    success: successFunc, // <=== Here
    error: errorFunc
});
var req=$.ajax({
url:serviceURL,
类型:“POST”,
数据:JSON.stringify(param),
contentType:“应用程序/json”,

success:successFunc,//console.log(数据)
提供了什么?检查console.log(JSON.stringify(数据))或alert(JSON.stringify(数据))查看您得到了什么。若要检查您是否真的到达了CheckUser,请在方法的开头放置一个断点,以查看内部发生了什么。或者,更好的做法是,在函数中添加一个
调试器;
,并学习在浏览器中调试JavaScript。@AndreiV:甚至不需要
调试器;
,只需打开调试器并设置一个断点。@AndreiV:Chrome为我做的“愚蠢”的事情是它不允许我重写硬编码的
调试器;
语句(例如,关闭它,因为我暂时不需要它)。真正的断点的好处是你可以控制它们。无论如何,它们都有自己的位置,我肯定会定期使用
调试器;
。谢谢,这是有用的建议,但我仍然收到未定义的建议。@piggy:然后你会想在浏览器中使用调试器:检查
数据
,看看它是什么,查看“网络”或“网络”选项卡以查看来自服务器等的原始响应。在网络选项卡的“响应”下,我得到
“此请求没有可用的响应数据”
[HttpPost]
public JsonResult CheckUser(string uname, string pass)
{
    Boolean cont = true;
    return Json(new { exists = cont });
}
var req = $.ajax({
    url: serviceURL,
    type: "POST",

    data: JSON.stringify(param),

    contentType: "application/json",

    success: successFunc, // <=== Here
    error: errorFunc
});