php
  • jquery
  • 2012-09-28 33 views 0 likes 
    0

    我收到來自PHP後臺像PHP和jQuery的解析

    feedback = {"html":"<form action='someurlonrest' method='post' style='margin-left:100px;' ><div style='padding: 10px;'>Ticket No<input type='text' id='tkt' name='tkt' ><\/div><div style='padding: 10px;'>somthing <input type='text' id='smthing' name='smthing' ><\/div><div style='padding: 10px;'>Query about <input type='text' id='query' name='query' ><\/div><input type='submit' class='classname' ><\/form>"} 
    

    的jsong響應的數據爲什麼我收到未定義每當我試圖做

    alert(feedback.html); 
    

    更新的消息

    function get_fb_success(){ 
    
        var feedback = $.ajax({ 
         type: "POST", 
         url: "feedback.php", 
         async: false 
        }).success(function(){ 
         setTimeout(function(){get_fb_success();}, 100000000000000000); 
        }).responseText; 
        alert(feedback); 
        //$('#log_success').val(''); 
    
    
        $('#log_success').html(feedback.html); 
        //$('div.feedback-box-success').html('success feedback'); 
    } 
    
    +0

    安置自己的JavaScript代碼,我們不知道爲什麼你會得到一個不確定的結果,沒有看到它 –

    +0

    @MichaelBerkowski檢查更新 – user1667633

    回答

    0

    您的問題的答案是,您可以看到您正在尋找的對象值。看這裏的小提琴:http://jsfiddle.net/aWC8G/

    下面,你的ajax函數看起來有點奇怪。我想應該是這樣的:

    function get_fb_success(){ 
    
        var feedback; 
        $.ajax({ 
         type: "POST", 
         url: "feedback.php", 
         async: false, 
         dataType: 'json', 
         success:function(data){ 
          feedback = data; //assuming you are 
         } 
        }); 
        alert(feedback); 
        //$('#log_success').val(''); 
    
    
        $('#log_success').html(feedback.html); 
        //$('div.feedback-box-success').html('success feedback'); 
    } 
    

    當然是不是服務器的異步調用,如果你想真正的異步AJAX,做這樣的(這應該工作,因爲你的函數實際上並不返回任何值:?

    function get_fb_success(){ 
    
        $.ajax({ 
         type: "POST", 
         url: "feedback.php", 
         dataType: 'json', 
         success:function(feedback){ 
          $('#log_success').html(feedback.html); 
         } 
        }); 
    
    } 
    
    1

    兩件事:

    通知jQuery您希望返回JSON,通過添加一個dataType: 'json'屬性,然後不要忘記將response傳遞給success回調。

    當時你在做$('#log_success').html(),由於數據是異步調用,數據實際上還沒有可用(可能這就是爲什麼你要使用那麼長的setTimeout()?)。而不是在成功處理程序:

    function get_fb_success(){ 
    
        // feedback is a jqXHR object, *not* the JSON response! 
        var feedback = $.ajax({ 
         type: "POST", 
         url: "feedback.php", 
         async: false, 
         // Specify datatype 
         dataType: 'json', 
         success: function(response) { 
          // Call .html() in the success() handler 
          $('#log_success').html(response.html); 
         } 
        }); 
    } 
    
    +0

    仍然沒有工作 – user1667633

    +0

    @ user1667633你實際調用函數'get_fb_success ()'? –

    相關問題