Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.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如何知道要返回的数据类型_Jquery - Fatal编程技术网

jquery如何知道要返回的数据类型

jquery如何知道要返回的数据类型,jquery,Jquery,我正在使用php生成一些包装在html5标记中的json数据,我不确定jquery如何知道返回什么数据类型 这是php echo '<section id="stuff">'; echo json_encode($jsonData); echo '</section>'; echo'; echo json_编码($jsonData); 回声'; 为了获得section标记中的数据,我这样处理我的数据 $.ajax({

我正在使用php生成一些包装在html5标记中的json数据,我不确定jquery如何知道返回什么数据类型

这是php

echo '<section id="stuff">';
echo json_encode($jsonData);
echo '</section>';
echo';
echo json_编码($jsonData);
回声';
为了获得section标记中的数据,我这样处理我的数据

$.ajax({                                     
      url: 'getdata.php',                         
      data: "",     
      dataType: 'html',                
      success: function(data)         
      {
       var thedata = $(data).filter('#stuff').html();
       var jobject = JSON.parse(thedata);
       for(var i = 0; i < jobject.length; i++) {
   var item = jobject[i];
$.ajax({
url:'getdata.php',
数据:“,
数据类型:“html”,
成功:功能(数据)
{
var thedata=$(data.filter('#stuff').html();
var jobject=JSON.parse(thedata);
对于(var i=0;i
这里指定的数据类型为html,但当我指定json时,将不显示任何内容,但获取成功

然后我使用jquery进行速记,一切正常

$.get('getdata.php', function(data) {
       var thedata = $(data).filter('#stuff').html();
       var jobject = JSON.parse(thedata);
       for(var i = 0; i < jobject.length; i++) {
       var item = jobject[i];
$.get('getdata.php',函数(数据){
var thedata=$(data.filter('#stuff').html();
var jobject=JSON.parse(thedata);
对于(var i=0;i

jquery速记方法是否猜测我的数据类型是HTML?

该数据类型为jquery提供了一个关于服务器响应类型的提示,在第一个示例中,jquery希望响应是文本(好的,评估了带有脚本标记的HTML),但当您在数据类型中指定JSON时,jQuery将尝试将其转换为JavaScript对象,这将失败

在后一个示例中,jQuery猜测响应是JSON,忽略了过滤器和HTML转换,并将
$(数据)
作为JavaScript对象处理

总的来说,我认为没有理由将您从服务器编码的JSON对象封装在HTML中,它应该作为任何其他对象进行结构化和解析

<section id="stuff">
'{ "Object": [{"Value" : "1", "Text" : "2 in HTML"},{"Value" : "2", "Text" : "3 in HTML"}] }'
</section>

“{”对象“:[{”值“:“1”,“文本“:“2在HTML中”},{”值“:“2”,“文本“:“3在HTML中”}]}”

var json='{“对象”:[{“值”:“1”,“文本”:“2”},{“值”:“2”,“文本”:“3”}]}'
var jobject=JSON.parse(JSON);
对于(var i=0;i

我之所以这样包装json,是因为我必须一次获取大量数据,比如从4个相关的表中获取数据。你知道我如何从一个json对象中获取所有4个数据,而不是将4个不同的数据集构造成4个唯一的标记吗?。
  var json = '{ "Object": [{"Value" : "1", "Text" : "2"},{"Value" : "2", "Text" : "3"}] }'

   var jobject = JSON.parse(json);
   for(var i = 0; i < jobject.Object.length; i++) {
       var item = jobject.Object[i];
       alert(item.Value);
   }

 var jsonInHtml = $("#stuff").html();

 var jobject = JSON.parse(jsonInHtml);

 // A JavaScript object won't be frmed at this point

for(var i = 0; i < jobject.Object.length; i++) {
       var item = jobject.Object[i];
       alert(item.Value);
 }