Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.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 为什么反对';s属性在作为参数传递时未定义_Jquery_Json_Rest - Fatal编程技术网

Jquery 为什么反对';s属性在作为参数传递时未定义

Jquery 为什么反对';s属性在作为参数传递时未定义,jquery,json,rest,Jquery,Json,Rest,为什么在这个JavaScript方法中传递参数会使其属性未定义,这就是我目前正在尝试的 $.each(data.GetSomeRestMethodResult, function (index, item) { $("#sTable").append(AnotherMethods(item.a, item.b, item.c)); }); function AnotherMethods(a, b, c) { alert(a

为什么在这个JavaScript方法中传递参数会使其属性未定义,这就是我目前正在尝试的

    $.each(data.GetSomeRestMethodResult, function (index, item) {
            $("#sTable").append(AnotherMethods(item.a, item.b, item.c));
        });

    function AnotherMethods(a, b, c) {
        alert(a +" - "+ b +" - "+ c);
        var r = "<tr class='Row' onclick='LoadDetails(" + a + b + c ")'></tr>"
    }
$.each(data.GetSomeRestMethodResult,函数(索引,项){
$(“#稳定”).append(其他方法(项目a、项目b、项目c));
});
函数异常方法(a、b、c){
警报(a+“-”+b+“-”+c);
var r=“”
}
现在,如果我使用chrome Sources和debug,该项具有所有值,但当我查看子函数中的参数时,它们都未定义:(

编辑

修复了这个问题,因为WCFWeb服务正在发送一个特定类型对象的数组(我自己更改了它,但忘记了更新JS),但是下面是对我有效的方法

    $.each(data.GetSomeRestMethodResult.TYPEOFOBJECT, function (index, item) {
            $("#sTable").append(AnotherMethods(item.a, item.b, item.c));
        });

    function AnotherMethods(a, b, c) {
        alert(a +" - "+ b +" - "+ c);
        var r = "<tr class='Row' onclick='LoadDetails(" + a + b + c ")'></tr>"
    }
$.each(data.GetSomeRestMethodResult.TYPEOFOBJECT,函数(索引,项){
$(“#稳定”).append(其他方法(项目a、项目b、项目c));
});
函数异常方法(a、b、c){
警报(a+“-”+b+“-”+c);
var r=“”
}
上面的代码是手工编写的,很抱歉,我无法发布所有代码,因为@webservices、完整的js文件等太多了。

(根据您的更新更新)

问题是您使用的是
AnotherMethods
(将返回值传递到
append
)的返回值,但是
AnotherMethods
实际上并没有返回任何内容。它只是创建了一个变量
r
。您还有一个语法错误(在
c
之后缺少
+

例如,这是可行的:

$.each(data.GetSomeRestMethodResult, function (index, item) {
  $("#sTable").append(AnotherMethods(item.a, item.b, item.c));
});

function AnotherMethods(a, b, c) {
  return "<tr class='Row' onclick='LoadDetails(" + a + b + c + ")'><td>Row for " + a + ", " + b + ", " + c + "</td></tr>";
}
$.each(data.GetSomeRestMethodResult,函数(索引,项){
$(“#稳定”).append(其他方法(项目a、项目b、项目c));
});
函数异常方法(a、b、c){
返回“+a+”行、“+b+”行、“+c+”;
}

|

它没有。发布a。上面的操作很好。如果
确实具有
a
b
c
,它们的值将被传递到
AnotherMethods
(旁注:您使用的是
AnotherMethods
的返回值,但它不会返回任何内容。)@T.J.Crowder谢谢,我会尽快更改代码并发布now@yaron请考虑了解更多有关jQuiAPI的内容。-此外,您可能不想将数据和演示文稿混为一谈。@BenjaminGruenbaum感谢您的建议,现在将在我的代码中实现它。这实际上看起来与实际问题非常接近。查看更新(他想返回一个
r
变量)@BenjaminGruenbaum:谢谢你指出Q已经更新。是的,你是对的,仍然没有返回任何东西(还有语法错误)。更新了答案。