में एजेक्स कॉल से मैं एक दृश्य कैसे वापस कर सकता हूं मैं AJAX कॉल पर वापस आने के लिए एक HTML तालिका प्राप्त करने का प्रयास कर रहा हूं।लैरवेल 5
मार्ग:
Route::post('job/userjobs', '[email protected]');
बुला पृष्ठ पर ajax:
function getUserJobs(userid) {
$_token = "{{ csrf_token() }}";
var userid = userid;
$.ajax({
headers: { 'X-CSRF-Token' : $('meta[name=_token]').attr('content') },
url: "{{ url('/job/userjobs') }}",
type: 'POST',
cache: false,
data: { 'userid': userid, '_token': $_token }, //see the $_token
datatype: 'html',
beforeSend: function() {
//something before send
},
success: function(data) {
console.log('success');
console.log(data);
//success
//var data = $.parseJSON(data);
if(data.success == true) {
//user_jobs div defined on page
$('#user_jobs').html(data.html);
} else {
$('#user_jobs').html(data.html + '{{ $user->username }}');
}
},
error: function(xhr,textStatus,thrownError) {
alert(xhr + "\n" + textStatus + "\n" + thrownError);
}
});
}
//on page load
getUserJobs("{{ $user->id }}");
नियंत्रक:
public function userjobs() {
$input = Request::all();
if(Request::isMethod('post') && Request::ajax()) {
if($input['userid']) {
$userjobs = Userjob::select('select * from user_jobs where user_id = ?', array($input['userid']));
if(! $userjobs) {
return response()->json(array('success' => false, 'html'=>'No Jobs assigned to '));
}
$returnHTML = view('job.userjobs')->with('userjobs', $userjobs);
return response()->json(array('success' => true, 'html'=>$returnHTML));
}
}
}
दृश्य:
@section('content')
<table class="table table-striped">
<tbody>
@foreach ($userjobs as $userjob)
<tr>
<td><strong>{{ $userjob->title }}</strong><br />
{{ $userjob->description }}
</td>
</tr>
@endforeach
</table>
@stop
मुझे json.html डेटा में कुछ भी नहीं मिल रहा है। कुछ भी तो नहीं। यदि नियंत्रक में मैं कहता हूं:
return response()->json(array('success' => true, 'html'=>'<span>html here</html>'));
यह ठीक काम करता है।
मैं कैसे एक दृश्य के एक ajax कॉल से Laravel 5.
ठीक है - उपरोक्त वर्णित दृश्य में जोड़ा गया -> प्रस्तुत() जोड़ा गया है। लेकिन मुझे अभी भी आउटपुट में कोई एचटीएमएल नहीं मिल रहा है। यहां कंसोल आउटपुट है: 'ऑब्जेक्ट {सफलता: सत्य, एचटीएमएल: ""}'। कोई और विचार? –
यदि मैं यह 'वापसी प्रतिक्रिया() -> जेसन (सरणी (' सफलता '=> सत्य,' एचटीएमएल '=>'
हम्म, मैं इसे या तो काम नहीं कर सकता ... ऐसा लगता है कि 'रेंडर()' को स्वचालित रूप से सामग्री आउटपुट करता है और इसे स्ट्रिंग के रूप में वापस नहीं करता है। यह लैरावेल 4 में अलग था और मुझे यकीन नहीं है कि यह एक सुविधा या बग है। – lukasgeiter