微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将JSON数据发送到ASP.NET WebMethod的jquery问题

如何解决将JSON数据发送到ASP.NET WebMethod的jquery问题

| 我已经阅读了有关此问题的所有问题,但未能解决... 分数类:
public class score
{
    // default constructor
    public score()
    { }

    public int TraitID { get; set; }

    public double Traitscore { get; set; }
}
ASPX WebMethod:
    [WebMethod]
    public static bool Test(List<score> scores)
    {
        return true;
    }
jQuery代码
            var scoresList = [{\"TraitID\":1,\"Traitscore\":2},{\"TraitID\":2,\"Traitscore\":5}];

            $.ajax({
                type: \"POST\",url: \"Tryouts.aspx/Test\",data: \"{\'scores\':\" + JSON.stringify(scoresList) + \"}\",contentType: \"application/json; charset=utf-8\",dataType: \"json\",success: function (response) {
                    if (response.d == true) {
                        alert(\"success!!!!!\");
                    }
                    else {
                        alert(\"problem!!!!!!!!!\");
                    }
                },error: function () {
                    alert(\"ERROR\");  
                }
            });
我不断收到错误
{\"Message\":\"Cannot convert object of type \\u0027System.String\\u0027 to type
\\u0027System.Collections.Generic.List`1[BusinessLogicLayer.score]\\u0027\",\"StackTrace\":\"   at
System.Web.Script.Serialization.ObjectConverter.ConvertObjectToTypeInternal(Object o,Type type,JavaScriptSerializer serializer,Boolean throwOnError,Object& convertedobject)\\r\\n   at
System.Web.Script.Serialization.ObjectConverter.ConvertObjectToTypeMain(Object o,Object& convertedobject)\\r\\n   at
System.Web.Script.Services.WebServiceMethodData.StrongTypeParameters(IDictionary`2 rawParams)\\r\\n
at System.Web.Script.Services.WebServiceMethodData.CallMethodFromrawParams(Object target,IDictionary`2 parameters)\\r\\n   at System.Web.Script.Services.RestHandler.InvokeMethod(HttpContext
context,WebServiceMethodData methodData,IDictionary`2 rawParams)\\r\\n   at
System.Web.Script.Services.RestHandler.ExecuteWebServiceCall(HttpContext context,WebServiceMethodData methodData)\",\"ExceptionType\":\"system.invalidOperationException\"}
谢谢 !!!     

解决方法

我正在通过Web方法将自定义对象的数组传递到List中,并且效果很好。 我猜是由于属性名称周围的引号,您遇到了一个小的JSON格式问题。尝试将您的对象更改为此:
var scoresList = [{TraitID:1,TraitScore:2},{TraitID:2,TraitScore:5}];
并将您的数据行更改为:
data: JSON.stringify({ scores : scoresList }),
希望有帮助... 更新:工作示例...
<script type=\"text/javascript\">
$(function () {

    var scoresList = [{ TraitID: 1,TraitScore: 2 },{ TraitID: 2,TraitScore: 5}];

    $.ajax({ type: \"POST\",url: \"Tryouts.aspx/Test\",data: JSON.stringify({ scores: scoresList }),contentType: \"application/json; charset=utf-8\",dataType: \"json\",success: function (response) {
            if (response.d == true) {
                alert(\"success!!!!!\");
            } else {
                alert(\"problem!!!!!!!!!\");
            }
        },error: function (xhr) {
            alert(\"ERROR\");
        }
    });

});
</script>
这是背后的代码:
public class Score
{    // default constructor    
    public Score() { }
    public int TraitID { get; set; }
    public double TraitScore { get; set; }
}

[WebMethod]
public static bool Test( List<Score> scores )
{
    return true;
}
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?