jqgridを持つクライアントにwebsocketsサーバーから文字列を送信しています。webqockets経由でクライアントに送信されたデータからjqgridを再入力
文字列はevalのを使用して変換し、私は "メートル()(私はそれがベストプラクティスではありません知っているが、これはちょうどこの時点での概念実証のためである)JSONオブジェクトです。
私はちょうどしようとしていますjqgridをリロードする:I警告(msg.data)場合
MSGは私のsocket.onmessageコールバックでのパラメータであるvar obj = eval("(" + msg.data + ")");
$("#list").setGridParam({ "postData" : obj }).trigger("reloadGrid");
、私は正確に形成されたJSON文字列を参照してください、私のグリッドがリロードされていません。
私はobjに警告すると、オブジェクトに正しく変換されていることがわかります。
私はまた、トリガ( "reloadGrid")を別の行に分割して、$( "#list" prepend ...)をまだロードしていないようにしました。
提案がありますか?
私は完全なあなたは何をすべきか理解していないようです。まず 'eval'の代わりに[jQuery.parseJSON](http://api.jquery.com/jQuery.parseJSON/)を使うことができますが、JSON文字列' msg.data'を'postData:{myMsg:msg.data}'を使うのではなく、 'postData:obj'として使用しますか?どのフォーマットでサーバーにデータを送信できますか?さらに、 'msg.data'の例を持たずに、あなたと勧告を与えるのは難しいです。さらに、jqGridと一緒にWebソケットを使用する方法がわかりません。 – Oleg
Oleg。応答していただきありがとうございます。私はデータ型jsonstringとdatastr:msg.dataを使って作業しました。私が私のOPで言ったように、これはコンセプトの証明のためのものなので、WebSocketサーバーからプッシュされているデータからグリッドをリロードするだけで、私が言及した2つの変更このコメントでは –
私は今どこに問題があるのか理解していると思います。私は答えに詳細を書きました。 – Oleg