2011-07-20 6 views
1

これを使用してjquery UIオートコンプリート関数のデータを取得しますが、実際にはポストとして送信したいとします。そうでなければ、それはすべて正常に動作します...getJSONオートコンプリート&ポスト?

私はこれを試しました。

$.post(url, dataToBeSent, function(data, textStatus) { 
    //data contains the JSON object 
    //textStatus contains the status: success, error, etc 
}, "json"); 

しかし、これは「json」が応答を置き換えるため、オートコンプリートを壊します。

ここに、getJSONを使用した現在の作業自動補完があります。 http://pastebin.com/hmMswasS

ありがとうございました!

答えて

0

あなたのヘッダーはapplication/jsonになるようにあなたのPHPファイルに設定されていますか? this nice resource 1として

+0

、また

<script> $.ajax({ type: 'POST', url: '/youradmin_v2/scripts/php/process.php', data: dataToBeSent, dataType: 'json', success: function(data) { // handle response here // log(data); } }); </script> 

:このような何かを試してみてくださいません。私はそれを関数に入れることができますか?上記のコードにどのような影響がありますか?またはprocess.phpファイル内の他の関数? – v3nt

+0

PHPの関数からコードをエコーする前に、 'header( 'Content-type:application/json');'を追加するだけです。関数の一部が 'echo $ data'のようなものならば'header( 'Content-type:application/json');の直前に書かれています。私はいつもJSON – mazlix

0

、あなたはJSONレスポンスを提供していますPHPファイルにこれを追加するだけ必要があります。

header('Content-type: application/json'); 
1

内蔵のjqueryの$ .postが私のために動作しませんたびに、私は行きます低レベルの$ .ajaxメソッドを使用してください。私のサイトのすべての機能のための純粋なPHPファイル - なし、mazlixねえ、あなたは正しいJSONを返すされていることを確認し、すなわち

<?php 
    json_encode($data_array); 
?> 
+0

を出力するはずのすべての関数の先頭に置いています。これはうまく動作し、データが返されるのを見ることができます。私はちょうどそれを拾うオートコンプリートを得ることができません! getJSONs ''、レスポンス)と関係があると思います;それは動作しますが、ajaxやpost関数を使ってその部分をどのように複製するかはわかりません。試しました。成功:機能(データ){応答=データ; }などですが、喜びはありません... – v3nt

+0

Daniel、このページに移動し、jsコードをファイルの1つにコピーしてください: [plugins.js](https://github.com/paulirish/html5-boilerplate/blob/master /js/plugins.js) レスポンスハンドラで を呼び出してください。 返されたjsonがログに表示されます(FFまたはchromeを使用してください)。正確に何が入ってきているのかを確認し、デバッグに役立てることができます。 –