2011-10-14 4 views
0

EDITを返しているのか分かりません。何故ですか? $ .post(つまりオブジェクト{"result":"ERROR"})の結果を返すにはどうすればよいですか。


jEditableの使用。 (注:これは、特定のプラグインに関する質問とは対照的に、これは簡単なjQueryの質問だと思う)

私は、一意のタグシンボルがデータベースに既に存在するかどうかを確認したいと思う。そのため、onsubmitに$ .postを実行して、JSONオブジェクトを返すようにしました。{"result":"ERROR"}(私はこれをfirebugで知っています)。

私の問題は、返されたデータの処理に問題があります。私がするときalert(returned)私はちょうどObject object応答を取得し、 "テスト"しません。

何が間違っているのか、何がうまくいかないのかについてのヒントを教えてください。

CODE

//Edit Tag Symbol 
$(".edittagsymbol").editable('myURL',{ 
    onsubmit : function(settings, td){ 
     var id = $(this).attr('id'); 
     var input = $(td).find('input'); 
     var original = input.val(); 
     var returned = $.post('myURL',{"text": original}, 
           function(data) { 
            if (data.result == 'ERROR'){ 
             return data.result; 
            } 
           }, 
           "json" 
          ); 
     alert(returned); 
    } 
}); 

答えて

3

$.postは、渡された関数から返された値を返しません。代わりにjqXHR objectを返します。

データで何かしたい場合は、コールバック関数を使用する必要があります。

有用な例は、受け入れられた回答hereです。

1

エラーであるかを確認するalert(JSON.stringify(returned))を使用しています。サーバーからのJSONを期待するので、

+0

これは私が探していた機能です – ksindi

+0

私はオブジェクト '{" readyState ":1}'を取得しています。何故ですか? Hoは、オブジェクト '{" result ":" ERROR "}'を返すことができます。 – ksindi

+0

私の答えをチェックしてください。 – Przemek

関連する問題