2011-08-04 16 views
1

私は、JSPページ上でこのような何かjquery get ... jsonデータとnon-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); 
       }); 

私は非常にうまく機能whichs私のJSONのニーズにjson2.jsを使用しています。ですから、私が渡しているstringRowsはjsonデータです。しかし、outputtableは、私のページのtextfield要素の値から取られます。彼らが表すものを与えてstringRowsoutputtableを混ぜても意味がありません。おそらく必要ならば、私はoutputtableを含む2番目のjsonオブジェクトを作成することができます。この関数では、Struts 2アクションによってJSONデータが返されました。結果のJSON型のJSONデータが返され、有効なJSONデータが返されます。

ここには何が起こっているのですか?私のjqueryコールからoutputtableを削除すると、oc4jのログメッセージが表示され、すべてが正常に表示されます。私がちょうどstringRowsを取り除くと、oc4jのログメッセージが表示され、すべてがうまく見えます。 outputtablestringRowsの場合、アラートメッセージが表示されますが、何かが正しくないことを示すログは表示されません。 JSONデータは上記の関数の変数textにありますが、実際に何が起こっているのかわかりません。

私の質問は、jsonデータとnon-jsonデータを混在させるのが本質的に悪いのか、そうであればどのレベルが騙されているのでしょうか?私はjqueryで他のユーザー'json'を呼び出しているので、これと何か関係があると思います。ので、ここでコメントには長すぎる

EDIT

は、私の応答です:私は時々、私はログをチェックすることを忘れない、すなわちに絶えず発展

@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は文字列として表現されるため、JSONと他の文字列との間に違いはありません。 – Tomalak

答えて

2

私の心を動かすためにかかったすべてだった。ここで私は今

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); 
     } 
    }); 

にそれを変更するもので、私のログは、私が知っておくべきことを私に報告して幸せです。

関連する問題