2016-12-06 7 views
1

私はjavascriptの次の平和を持っている:JSON文字列が、PHPの可変印刷ヌル

ポストを使用して
$('.showEditForm').click(function() { 
    var webpagefileID = this.id; 
    if($('#editForm').css('display', 'none')) { 
     $('#editForm').css('display','block'); 
     $('#allFilesTable').css('display','none'); 
    }  
    $.post 
    ('http://localhost/myproject/Controllername/display_edit_record_form', { webpagefileID: webpagefileID }, function(result) { 

    });  
}); 

は、私はCodeIgniterのコントローラ

方法のdisplay_edit_record_formを呼び出していますと、ここにあります私CodeIgniterのコントローラ内のメソッドの名前display_edit_record_formのコード:PHPのビューで

public function display_edit_record_form($webpagefileID) 
    { 
     $webpagefileID = $this->input->post('webpagefileID'); 
     $data['webpagefile'] = $this->Webpage_file_model->get($webpagefileID); 
     //$this->output->set_content_type('application/json'); 
     $this->output->set_output(json_encode($data['webpagefile'])); 
     echo json_encode(array("message" => $data['webpagefile'])); 
    } 

、私は次のコードでデータを表示しようとしています:

var_dump($message); 
echo "<br />"; 
$myarr1 = json_decode($message); 
print_r($myarr1); 
echo "<br />"; 
$myarr2 = json_decode($data['webpagefile']); 
print_r($myarr2); 
echo "<br />"; 
$myarr3 = json_decode($webpagefile); 
print_r($myarr3); 

そして私は、しかし、私はこの見ることができますコンソールでは、1つのNULLと2つの空の配列 を得る:編集フォームが開かれたコンソールで、私はJSON文字列を見ることができ、今

{"message": 
{"webpagefileID":"10", 
"webpageID":"38", 
"webpagefileName":"New file", 
"webpagefileShowInRelatedFiles" :"1", 
.......continues..... 

私はビューの私のPHPコードでこの文字列を表示するために助けが必要なので、私はそこに私のフォームフィールドpopuloateすることができます....

答えて

1

これは、display_edit_record_form()メソッドから得られている出力がajaxで受信されたためです。したがって、$message変数が空白になっています。 あなたがする必要があるのは、postリクエストからデータを受け取った後、jqueryを使用してビューを更新することです。

$.post 
    ('http://localhost/myproject/Controllername/display_edit_record_form', { webpagefileID: webpagefileID }, function(result) { 
     result = $.parseJSON(result); 
     // considering you have a text field with id myID 
     $('#myID').val(result.message.webpagefileID); 
     // similarly you can add any of your returned values 
    }); 
+0

ビュー内のPHP配列で結果を得る方法はありますか? – user2417624

+0

私が知っていることではありません。その結果をビュー内のphp配列として取得するには、コントローラ内のメソッドを呼び出して、その値をビューに渡す必要があります。しかし、その場合は非同期の権利ではないでしょうか? –

+0

はい、それは私が欲しいものではありません。 – user2417624

0

json_decode()結果nullは、解析が失敗したことを意味します(通常、文字列のエンコンディングによるものです)。 errorCodeの出力を表示する必要がありますjson_last_error

+0

最後にエラーが発生したときは0になります。 – user2417624