-1
我在視圖中有一個Ajax代碼。它將選定的索引(從選擇框)發送到控制器。控制器將其轉發給模型並獲得正確的結果。我可以在Firebug中看到,當我執行print_r時,控制器的數組中有正確的值,因此只需將它發送回視圖進行打印。但它在那裏通過「變量未定義」失敗。我可以繞過這個問題做一些像PHP Ajax Laravel問題的原因很明顯,但解決方案?
如果(空($變量)){
那麼不打印否則打印出來, 如果我這樣做,它得到的Ajax代碼的成功一部分,但我希望它在View html頁面上。我如何以成功的方式完成最後一部分?下面是完整的代碼清楚:
VIEW:
<script>
$(document).ready(function() {
$("#target").change(function() {
// alert($('#target option:selected').val());
$.ajax({
type: 'POST',
url: '<?php echo route("showhospitals");?>',
data: {'dataString': $('#target option:selected').val()},
cache: false,
success: function(data)
{
// alert(data);// CAN I USE THIS SUCCESS STUFF TO WRITE
// TO THE HTML BLADE VIE PAGE INSTEAD OF ON AN ALERT?
}
});
});
});
</script>
控制器
public function postespecialidades(){
if (Request::ajax())
{
/*WE GET THE DATA FROM THE SELECT LIST VIA AJAX*/
$data['input'] = Input::get('dataString');
$dato = $data['input'];
echo "the index number I got is: . $dato";
/*WE SEND THAT DATA TO THE MODEL*/
$hospital['input'] = with(new treatment)->sendData($dato);
print_r($hospital['input']); //I CAN SEE THE CORRECT RESULT IN FIREBUG RESPONSE BUT CANT PASS IT TO THE VIEW
return View::make('especialidades.especialidades')->with('hospital', $hospital);
return $hospital['input'];
}
else{
echo "THE JQUERY IS NOT GETTING TO TALK TO ME";
}
}
}
所以,我想打印在View頁面上,而不是在警告窗口中的結果。
個人信息將在此處列出。
原因這個問題:
頁面加載時,在選擇任何東西之前,在網頁崩潰,因爲它試圖打印一直沒有得到來自控制器的價值的機會的變量。這是問題所在。
謝謝穆罕默德,sukra。當我回家時,我會嘗試解決方案,因爲現在我不在我的計算機上,我明天會告訴你,但我認爲問題在於,當頁面加載時,我希望在視圖中打印的$變量會被讀取,因爲控制器還沒有傳遞值(因爲我沒有機會選擇任何東西),那麼它是未定義的,頁面在加載時崩潰。注意到這一點很重要。 – iaintunderstand
讓我知道如果你已經測試我的解決方案我的朋友 –
你好穆罕默德。我試圖沒有改變。我有網絡在線,所以你可以自己嘗試。我可以給你一個私人聊天的網址 – iaintunderstand