我正在尝试通过
AJAX将动态的,用户创建的对象传递给某些C#.我对
JSON并不是很熟悉,但它似乎是一个很好的方法.我不知道为什么,但它在我声明对象时给了我一个错误. (据说.)我做错了什么?谢谢.
编辑:它似乎只在IE中出错,但我需要它在IE7中工作.
网页错误详情
用户代理:Mozilla / 4.0(兼容; MSIE 7.0; Windows NT 6.1; WOW64; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C ; .NET4.0E; MDDC; InfoPath.2)
时间戳:2012年3月28日星期三14:15:19 UTC
消息:预期的标识符,字符串或数字
行:18
查尔:21
代码:0
URI:http://localhost:56560/Default.aspx
<html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>Untitled Page</title> <script type="text/javascript"> $(function() { $('input[type=button').click(function(){ var json_obj = { $('#t1').val() : $('#p1').val(),$('#t2').val() : $('#p2').val()}; $.ajax({ typeof: "POST",url: '/test.aspx',contentType: 'application/json; charset=utf-8',data: json_obj,dataType: 'json',success: function(msg) { alert('Success!'); },error: function(msg) { alert('Error!'); } }); }); }); </script> </head> <body> <div> Type: 1: <input type="text" id="t1" /> Property 1: <input type="text" id="p1" /> Type 2: <input type="text" id="t2" /> Property 2: <input type="text" id="p2" /> <input type="button" value="Add object!" /> </div> </body> </html>
代码背后
public class Test { public Test(string json) { JObject jObj = JObject.Parse(json); JToken jUser = jObj["json_obj"]; first = (string)jObj["t1"]; second = (string)jObj["t2"]; } public string first { get; set; } public string second { get; set; } }
解决方法
我认为你的json数据的格式是错误的.试试这个:
var json_obj = "{'" + $('#t1').val() + "' : '" + $('#p1').val() + "','" + $('#t2').val() + "' : '" + $('#p2').val() + "'}";
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。