【发布时间】:2014-12-01 12:03:29
【问题描述】:
我对以下问题感到困惑:
我有一个看起来像这样的代码
<form action="{{ URL::route('user-send-message') }}" method="post" id="form-user-send-message">
@if( $user_message_block )
<input id="msg-id" name="msg-id" type="hidden" value="{{ $user_message_block->id }}">
@else
<input id="msg-id" name="msg-id" type="hidden" value="0">
@endif
<input id="getter" name="getter" type="hidden" value="{{ $profile->user->username }}">
<textarea id="user-message" name="user-message"></textarea>
<button class="btn btn-success btn-xs pull-right" type="submit" name="btn-send-message">Send</button>
<div class="clearfix"></div>
{{ Form::token() }}
</form>
<script type="text/javascript">
jQuery(document).ready(function($){
$('#form-user-send-message').on('submit', function(){
// ajax post method
$.post(
$(this).prop('action'),{
"_token": $( this ).find( 'input[name=_token]' ).val(),
"msg-id": $( '#msg-id' ).val(),
"getter": $( '#getter' ).val(),
"user-message": $( '#user-message' ).val()
},
function(data){
$(".message-area").append('<div class="message-user">' + data['who'] + ' said:</div>'
+'<div class="message-sent">' + data['when'] + '</div>'
+'<div class="message-viewed"><em>' + data['seen'] + '</em></div>'
+'<div class="clearfix"></div>'
+'<div class="message-text seen-no">' + data['text'] + '</div>');
$('.message-area').scrollTop($('.message-area')[0].scrollHeight);
$('#user-message').val('');
},
'json'
);
return false;
});
});
</script>
当我删除这部分代码时
@if( $user_message_block )
<input id="msg-id" name="msg-id" type="hidden" value="{{ $user_message_block->id }}">
@else
<input id="msg-id" name="msg-id" type="hidden" value="0">
@endif
我用这个替换它
<input id="msg-id" name="msg-id" type="hidden" value="{{ $user_message_block->id }}">
一切正常。
If-else 条件是否会影响 AJAX 产生 500 错误。 HTML 正确呈现,,
谁能帮我解开这个谜题。
谢谢!
这是我的网络错误预览
error: {type:Symfony\Component\Debug\Exception\FatalErrorException,…}
file: "F:\bol\app\controllers\ProfileController.php"
line: 384
message: "Call to a member function count() on a non-object"
type: "Symfony\Component\Debug\Exception\FatalErrorException"
【问题讨论】:
-
转到调试工具 -> 网络 -> 点击红色的 500 内部服务器错误,然后使用“预览”(如果在 chrome 上)编辑您的 OP。
-
感谢您的建议。感谢您的建议,我对这个问题有一个确切的看法。