0

この質問に対する価値のある回答が見つかりませんでした:かなり基本的な ajax フォーム プロセス ハンドラーです:

$(document).ready(function(){

});
function functionToUpdate(id)
{
    var data = $('form').serialize();
    $('form').unbind('submit');                
    $.ajax({
        url: "Blahblah.php",
        type: 'POST',
        data: data,
        dataType:"json",
        beforeSend: function() {

        },
        success: function(msg) 
        {
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
            alert(req.responseText);      
        }
    });
    return false;
} 

mysql データベース内のものを更新するために正常に動作します。(これは php ファイルです) isset($Post) などのさまざまなチェックを使用して、php ファイルの値をチェックインします。

たとえば、次のようになります。

if(isset($_POST['submit']))
{
    //do stuff here if button is clicked
}
else{
    // play a nice error message
}

ajax の成功部分に表示される URL からこの情報を取得するにはどうすればよいですか? このようなもの:(例)

success: function(msg) 
{
   if(post = true)
   {
       $('#succesfull').html("Succesfull query").fadeIn(800)
   }
   else
   {
       $('#fault').html("U didn't fill stuff in, failed!").fadeIn(800)
   }
},

例えばこの動揺。しかし、フォーカスされた URL からこのデータを取得することはできません。

すべてのヘルプが適用されます。

4

1 に答える 1

0

Blahblah.phpretuned asの出力を処理する必要がありますmsg

success: function(msg) 
        {
           if(msg=='xxxx'){
             //Do stuff
           }
        },

編集:

success:ajax 呼び出しでの意味を誤解している可能性があると思います。これは、呼び出されたページが正常にロードされたことを示しています。

.ajaxを見てください。この場合、$.postを使用する方が簡単かもしれません

または$.getJSON

JSON を使用する場合、の出力はjson_encodeBlahblah.phpでなければなりません。

編集:

の html 出力を返すには、次のBlahblah.phpようなものを試してください。

<?php
//must be before any output
ob_start();

//php code

$output = ob_get_contents();
$return['data'] = utf8_encode($output);
ob_end_clean();
echo json_encode($return);
?>

次にjQueryで

$.post("Blahblah.php", data, function(msg)
{
  $('#succesfull').html(msg.data);
}, "json");
于 2013-05-23T21:17:11.133 に答える