2012-03-20 40 views
0
<script type="text/javascript"> 

    $(document).ready(function(){ 
     setInterval(function(){ 
     $.ajax({ 
      url: "getResult.php", 

      success: function(results){ 

      var details = results.serializeArray(); //Serialized Here 

      var output = '<tr><td>Name</td>\n\ 
          <td>Type</td>\n\ 
          <td>Data</td>\n\ 
          <td>Detail</td></tr>'; 

      $.each(results, function(i, result){        
       output += '<tr><td>' + result.Name + '</td><td>' 
             +result.Type + '</td><td>' 
             +result.data + '</td><td> 
             <a href=javascript:newPopup("test.php?detail='+details +'")>Detail</a></td></tr>';  //pass serialized value here 
      }); 

      $("#insideTable").html(output); 

      }, dataType: "json"}); 
     }, 2000); 
}); 

</script> 

我想序列化Ajax返回結果並將其作爲查詢字符串傳遞給鏈接。序列化jQuery中的Ajax返回結果

但是,它不起作用,控制檯報告錯誤爲results.serializeArray is not a function

歡迎任何幫助,提前致謝!

+0

請你可以在console.log(results)中添加你的問題輸出結果;''你需要在'success:function(results)'後面添加''' – ManseUK 2012-03-20 12:35:46

回答

0

方法serializeArray()可以應用(鏈接)到一個jQuery元(什麼是results?)和,因爲你是一個對象裏面,你也將獲得一個解析錯誤(你應該寫details : results.serializeArray(),代替)

+0

結果是Ajax結果數組 – Acubi 2012-03-20 12:17:57

+0

閱讀關於它的文檔:http://api.jquery.com/serializeArray/ - 你可以看到這個方法被應用到一個jQuery的節點集合 – fcalderan 2012-03-20 12:21:14

0

的.serializeArray()方法創建一個JavaScript對象數組,可以編碼爲JSON字符串。它在代表一組表單元素的jQuery對象上運行。您收到此錯誤是因爲您在$results中傳遞了錯誤。

看到http://api.jquery.com/serializeArray的工作示例..

0

的results.serializeArray是沒有得到所謂的原因它不是$.ajax一部分試試這個:

$(document).ready(function(){ 
    setInterval(function(){ 
    $.ajax({ 
     url: "getResult.php", 

     success: function(results){ 
     var output = '<tr><td>Name</td>\n\ 
         <td>Type</td>\n\ 
         <td>Data</td>\n\ 
         <td>Detail</td></tr>'; 
var details = results.serializeArray(); 


     }, dataType: "json"}); 
    }, 2000); 
}); 

還你戈納找到<a href=javascript:newPopup("test.php? detail='+details +'")>Detail</a></td></tr>';解析錯誤

+0

'results.serializeArray沒有被調用,因爲它不是$ .ajax的一部分什麼?閱讀[serializeAray()](http://api.jquery.com/serializeArray/)的幫助 – ManseUK 2012-03-20 12:35:03

+0

大聲笑你讀過這個http://api.jquery.com/jQuery.ajax/?你正在把var details = results.serializeArray();在成功功能之前 – dali 2012-03-20 12:39:03

+0

serializeArray是jquery的一部分,不是$ .ajax的一部分 - ' – dali 2012-03-20 12:58:40

1

如果results是一個JSON字符串(根據你如何使用它來判斷它使我覺得它),你需要使用

var result jQuery.parseJSON(results); 

這將返回一個Object,你可以使用result.語法

注意:您爲什麼越來越serializeArray is not a function的原因是因爲jQuery函數serializeArray()預計到jQuery對象運行 - 即$(results).serializeArray()