-1

私はそれを理解することができません。$.post関数に何かを返すには、php ファイルに何を書く必要がありますか?

<script type="text/javascript">
    function SubmitToDatabase(uName, uComment)
    {
        $.post("write_something_to_mysql_b.php", {name: uName, comment: uComment});
        return false;
    }
</script> 

これは機能しますが、PHP ファイルからの戻り値はありません

4

3 に答える 3

1

まず、jQuery が PHP ファイルにヒットしていることを確認します。Chrome の開発者ツールを使用するか、Firefix用のFirebug をダウンロードSubmitToDatabase()し、[ネットワーク] タブに移動して、JavaScript 関数が実行されたら、ネットワーク アクティビティを確認します。間違った PHP ページにアクセスしている場合は、404 が表示されます。

正しいPHP ページにアクセスしている場合は、Firebug をチェックして、返される値を確認してください。echoJavaScript 呼び出しに対して PHP で値を返すには、.ではなくを使用していることを確認する必要がありますreturn

于 2013-01-19T15:37:22.250 に答える
1
// php:
$output['result']    = 'hello!!!';
echo json_encode($output); // json encode here
exit;

// jquery:
$.post(
"write_something_to_mysql_b.php",
{
    name : uName,
    comment : uComment
},
function(output) { // callback function to catch your php output
    // console.debug(output['result']);
    alert(output['result']);
    // output hello!!!
},
'json'); // json requirement here

jsonバックエンド側からデータを要求する可能性の 1 つにすぎません。その他は、xml、json、script、text、html です。これらのフォーマットのそれぞれについて、適切な方法でバックエンドからデータを返す必要があります。たとえばtextecho 'hello!!!; exit;

于 2013-01-19T15:38:22.297 に答える
1

を参照してくださいjQuery.post()。PHP の結果で何かをしたい場合は、success 関数を追加する必要があります。

function SubmitToDatabase(uName, uComment)
{
    $.post("write_something_to_mysql_b.php", {name: uName, comment: uComment},
        function(data) { alert(data); });
    return false;
}
于 2013-01-19T15:38:41.860 に答える