如何在JQuery ajax中读取json响应作为名称值对

时间:2012-12-26 07:16:09

标签: c# jquery json

我希望在json代码中将JQuery响应作为名称和值对进行阅读。这是我从我的dotnet代码返回的示例JSON响应:

const string format = "\"HasCases\": \"{0}\""; 
StringBuilder json = new StringBuilder(128); 
json.Append("{"); 
json.AppendFormat(format, JSONString("true"));
json.Append("}"); 
Response.Clear(); 
Response.AppendHeader("Content-type", "application/json; charset=utf-8");                                                                               Response.Write(json.ToString()); 
Response.End();

要获取Json值,是否有必要使用Response代码?在我的Json页面中,我能够将输出作为HasCases:true。

这是我的JQuery代码

<span id="testSpan" runat="server">inactive</span>
<script type="text/javascript">
inactive 
$.ajax({ 
        type: 'POST',
        url: "~/Pages/UserCaselistnonEmptyAjax.aspx", 
        dataType: "json", 
        success: function (response){
        $('#testSpan').innerHTML = response.HasCases; 
       }, 
     error: function (e1, e2, e3) {
  $('#testSpan').innerHTML = 'Error';
      }
   });
 </Script>

当我调试表单firebug时,我的控件不会转到"$('#testSpan').innerHTML = response.HasCases; "。它是从循环中出来的。

2 个答案:

答案 0 :(得分:1)

jQuery对象不实现.innerHTML。请改用.html()

$('#testSpan').html(response.HasCases);

答案 1 :(得分:0)

我正在使用

返回我的json
return (new JavaScriptSerializer().Serialize(request)); 

在我的c#code.and我调用函数在页面加载事件返回此值。 输出就是这个

{"registration_ids":["1","2"],"data":{"message":"Your message","tickerText":"Your ticker","contentTitle":"Your content"}}

但是我无法用jquery ajax读取这个返回的json fomrat 我的ajax在

之下
function as()
  {

                $.ajax({
                      type:"get",
                      url:"mydjson.aspx",
                      contentType: 'application/json;charset=utf-8', 
                      dataType: {'json':'datas'}, 
                      //data: JSON.stringify(request),//{ get_param: 'value' },
                      success:function (msg) {

                                         $("#table").html("<h1>" + msg+ "</h1>").fadeIn("slow");

                                    },
                                      //  function (data, status)

                     error: function (xhr, textStatus, error) 
                            {
                               var errorMessage = error || xhr.statusText;

                                $("#table").html("<h3>" + errorMessage + "</h3>").fadeIn("slow");
                            }
                   });
        return false;
   //   });

}

我收到错误“Ivalid json”加上页面“mydjson.aspx”的内容。请帮我。