2011-08-04 33 views
1

我有這樣的事情在JSP頁面Jquery得到...混合json和非json數據?

var json_text = JSON.stringify(rows, null, 2); 
    $.get("/myapp/CountQuery.action", 
     {output: output, 
     table: table, 
     stringRows: json_text 
     }, 
       function(data) {     
        var text = JSON.stringify(data); 
       alert('Here is the data received ' + text); 
       }); 

我使用json2.js我的JSON需求偉馳效果很好的。所以,我傳遞的stringRows是json數據。然而,outputtable取自我的頁面上的textfield元素的值。給它們代表的內容混合stringRowsoutputtable沒有任何意義。也許如果需要的話,我可以創建第二個包含outputtable的json對象。在函數中,我得到了JSON數據通過Struts 2操作發送給我,結果類型爲JSON,這使我返回有效的JSON數據。

這是發生了什麼事。如果我從我的jquery調用中刪除了outputtable,我會在oc4j中看到日誌消息,並且一切都很好。如果我只刪除stringRows,我會在oc4j中看到日誌消息,並且一切都很好。如果我有output,tablestringRows,警報消息確實被激活,但我沒有看到任何日誌表明某些事情不太正確。 JSON數據存在於我上面函數中的text變量中,但我不知道實際發生了什麼。

所以我的問題是:混合json和非json數據本質上是壞的,如果是的話哪個級別被愚弄?我看到其他用戶'json'在他們的jQuery獲取調用,所以我想這可能與此有關。

編輯

太長了評論,所以這裏是我的迴應:

@kingjiv我不斷的發展,即,所以有時候我忘了檢查日誌。所以在鉻上運行,我得到的信息是GET http://localhost:8080/myapp/CountQuery.action?output=APPN%2CBSO%2CLI&table=mytable&stringRows=%5B%0A++%5B%0A++++%22%22%2C%0A++++%22%22%2C%0A++++%22ADD%22%2C%0A++++%22%3D%22%2C%0A++++%22A%22%2C%0A++++%22%22%2C%0A++++%22AND%22%2C%0A++++%22%22%0A++%5D%2C%0A++%5B%0A++++%22%22%2C%0A++++%22%22%2C%0A++++%22D%2FR%22%2C%0A++++%22%3D%22%2C%0A++++%22D%22%2C%0A++++%22%22%2C%0A++++%22AND%22%2C%0A++++%22%22%0A++%5D%2C%0A++%5B%0A++++%22%22%2C%0A++++%22%22%2C%0A++++%22CIVPER%22%2C%0A++++%22%3D%22%2C%0A++++%22N%22%2C%0A++++%22%22%2C%0A++++%22AND%22%2C%0A++++%22%22%0A++%5D%0A%5D 404 (Not Found)

+1

當js控制檯無法正常工作時,是否有任何消息? –

+0

由於JSON表示爲字符串,因此它與發送給服務器的任何其他文本字符串沒有區別。 – Tomalak

回答

2

kingjiv的評論就是讓我的思緒轉移的一切。這裏是我改變它

var json_text = JSON.stringify(rows, null, 2); 
    $.ajax({ 
     type: "POST", 
     url: "/myapp/CountQuery.action", 
     data: "output=" + output + "&table=" + table + "&stringRows=" + json_text, 
     success: function(msg) {     
      var text = JSON.stringify(msg); 
     alert(text); 
     } 
    }); 

現在,我的日誌記錄很高興向我報告我需要知道的。