English 中文(简体)
Is j Query.parseJSON 能够处理所有有效的json?
原标题:Is jQuery.parseJSON able to process all valid json?
  • 时间:2010-04-02 12:32:44
  •  标签:
  • jquery
  • json

这块有效的json(它使用Sphp s json_encode生成):

{"html":"form is NOT valid<form id="articleform" enctype="application/x-www-form-urlencoded" method="post" action=""><dl class="zend_form">
<dt id="title-label">&nbsp;</dt>
<dd id="title-element">
<input type="text" name="title" id="title" value="Artikel K"></dd>
<dt id="articleFormSubmitted-label">&nbsp;</dt>
<dd id="articleFormSubmitted-element">
<input type="hidden" name="articleFormSubmitted" value="1" id="articleFormSubmitted"></dd>
<dt id="submit-label">&nbsp;</dt><dd id="submit-element">
<input type="submit" name="submit" id="submit" value="Bewaar artikel" onclick="this.value= Bezig... ;"></dd></dl></form><script type="text/javascript">
	 $("#articleform").submit(function(){
 $.post("/admin/ajax/contenttree/node/9/ajaxtarget/ajaxContainer", $("#articleform").serialize(), function(html){$("#ajaxContainer").html(html);} );
		 return false;
	 });

 </script>","newNodeName":""}

正在

jQuery.parseJSON(data)

和我一劳永逸。

有了这一法典:

alert( start );
alert(data);
jQuery.parseJSON(data);
alert( stop );

我收到了信息,然后显示了数据(见上文)。 “站式”的信息从未出现过。

当我使用这个json时:

{"html":"test","newNodeName":""}

该信息最终出现。

$.ajax({
      url: "/admin/ajax/contenttree/node/" + (node.id).replace("node_", ""),
      success: function(data){

      //this message appears
      alert("succes");

      //this gives undefined
      alert(data.html);

      var result = $.parseJSON(data);

      //this message never appears
      alert("after parse");

        $("#ajaxContainer").html(result.html);
      }
    });

I ve verified that my first big chunk of json is valid. Why isn t it processed by jQuery.parseJSON Are there any special characters that don t go well with json?

最佳回答

我为我的问题找到了答案。 在我的问题中,你发现,我试图在装有关键<代码>html>的阵列中通过html。 在“javascript-code I”中,试图利用html获得使用。

jQuery.parseJSON(data);
alert(data.html);

当我重新命名关键<代码>htmlstring。 <代码>parseJSON-Functionstandard。 现在更不用说,在“Sandrejson_encode”工作之后,再也不必逃脱。

我认为,现在,在“Qu”中,html是一个保留词,因此,如果你想要使用 par子不给它一个叫“html”的son子。

问题回答

你所张贴的内容是“智者”,无需加以区别。 例:

var data = {"html":"form is NOT valid<form id="articleform" enctype="application/x-www-form-urlencoded" method="post" action=""><dl class="zend_form">
<dt id="title-label">&nbsp;</dt>
<dd id="title-element">
<input type="text" name="title" id="title" value="Artikel K"></dd>
<dt id="articleFormSubmitted-label">&nbsp;</dt>
<dd id="articleFormSubmitted-element">
<input type="hidden" name="articleFormSubmitted" value="1" id="articleFormSubmitted"></dd>
<dt id="submit-label">&nbsp;</dt><dd id="submit-element">
<input type="submit" name="submit" id="submit" value="Bewaar artikel" onclick="this.value= Bezig... ;"></dd></dl></form><script type="text/javascript">
	 $("#articleform").submit(function(){
 $.post("/admin/ajax/contenttree/node/9/ajaxtarget/ajaxContainer", $("#articleform").serialize(), function(html){$("#ajaxContainer").html(html);} );
		 return false;
	 });

 </script>","newNodeName":""};

alert(data.html);
alert(data.newNodeName);

我没有其他东西吗? 让我知道我是否不正确理解。

<>Update: 改变您的麻省方法,以使用本地的<代码>$.ajax。 支持:

$.ajax({
      url: "/admin/ajax/contenttree/node/" + (node.id).replace("node_", ""),
      dataType:  json ,
      success: function(data){
        alert("succes");
        $("#ajaxContainer").html(data.html);
      }
    });

我首先建议,从您的总结开始,这项工作,然后在你发现有点引起麻烦之前,从不工作的部分中删除背书。 JSON syntax非常简单,如果j Query有问题,我将感到惊讶。

我很想知道你们的“文字”标签和“功能”(设想:“我想知道这些标签是否触发剥削保护或某种保护?”),但与j Query 1.4.1的快速检查却说,这是没有的。

<><>Edit>/strong>

问题在于其他地方,如下图1.4.1或1.4.2(didn t work with 1.3.2, 但由于1.3.2. don t有jQuery.parseJSON——cks头。 通过您的代码进行浏览并检查<代码><>数据>/代码>变量,以了解其中的内容。

测试页:

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8">
<title>Test Page</title>
<style type= text/css >
body {
    font-family: sans-serif;
}
</style>
<script type= text/javascript  src= http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js ></script>
<script type= text/javascript >
(function() {
    $(document).ready(pageInit);

    function pageInit() {
        $( #btnGo ).click(go);
    }

    function go() {
        $.ajax({
            url: "test.json",
            success: function(data) {
                alert(data);
                var obj = jQuery.parseJSON(data);
                alert("obj.html = " + obj.html);
            }
        });
    }
})();
</script>
</head>
<body><div>
<input type= button  id= btnGo  value= Go >
</div></body>
</html>

测试:

{"html":"form is NOT valid<form id="articleform" enctype="application/x-www-form-urlencoded" method="post" action=""><dl class="zend_form">
<dt id="title-label">&nbsp;</dt>
<dd id="title-element">
<input type="text" name="title" id="title" value="Artikel K"></dd>
<dt id="articleFormSubmitted-label">&nbsp;</dt>
<dd id="articleFormSubmitted-element">
<input type="hidden" name="articleFormSubmitted" value="1" id="articleFormSubmitted"></dd>
<dt id="submit-label">&nbsp;</dt><dd id="submit-element">
<input type="submit" name="submit" id="submit" value="Bewaar artikel" onclick="this.value= Bezig... ;"></dd></dl></form><script type="text/javascript">
	 $("#articleform").submit(function(){
 $.post("/admin/ajax/contenttree/node/9/ajaxtarget/ajaxContainer", $("#articleform").serialize(), function(html){$("#ajaxContainer").html(html);} );
		 return false;
	 });

 </script>","newNodeName":""}

1. 与下列方面有关的事项:

alert( start );
data=data.replace(  , \ );
alert(data);
test= jQuery.parseJSON(data);
alert(test.html);
alert( stop );

它为我工作。

我找到了问题答案! 至少是问题的根源。

问题是由“设计”、“”和“和”性质造成的。 一旦试图沿用这些特性,教区就失败了。

是否有办法允许这些特性?

我已经尝试在法典中添加<条码>标题(内容-Type:文本/html;Ccharset=utf-8 );,以形成“jax-response”。





相关问题
JQuery/MVC Search Issue

I have inherited a piece of work where the entry screen shows a summary of 20 calculated variables. E.g. Var A (250), Var B (79). Clicking on any of these links takes the user to a view with a ...

jQuery quicksearch plug-in tinkering with JSON

I ve implemented the quicksearch plugin by Rik Lomas and I love it for an application in a custom CMS I m building. I was wondering though, since I m going to have a bizillion items in the table if ...

JSON with classes?

Is there a standardized way to store classes in JSON, and then converting them back into classes again from a string? For example, I might have an array of objects of type Questions. I d like to ...

PHP json_decode question

i m trying to use json_decode to combine a few json objects and then re-encode it. my json looks like: { "core": { "segment": [ { "id": 7, "...

Converting JSON data to Java object

I want to be able to access properties from a JSON string within my Java action method. The string is available by simply saying myJsonString = object.getJson(). Below is an example of what the string ...

热门标签