我有一个表单,通过laravel中的Ajax发送请求 来自我的控制器的此片段返回 null
use Illuminate\Http\Request;
class StatusController extends Controller {
public function postStatus(Request $request) {
if ($request->ajax()) {
dd($request->input('statusBody'));
然而,这将返回一个数组,statusBody
作为具有空值的键名
use Illuminate\Http\Request;
class StatusController extends Controller {
public function postStatus(Request $request) {
if ($request->ajax()) {
dd($request->input());
这是返回的结果
array:1 [▼
"This_is_a_sample_status" => null
]
此终于会返回正确的值
use Illuminate\Http\Request;
class StatusController extends Controller {
public function postStatus(Request $request) {
if ($request->ajax()) {
$val = $request->input('statusBody');
dd(array_search($val, $request->all()));
我的问题是:为什么会发生这种情况?
为什么$request->input('name')
没有按预期返回值?
的更新:
这也是成功将所需结果记录到控制台
var statusBody = $('#statusBody').val();
$.ajax({
type: "POST",
url: 'status',
data: statusBody,
success: function(data){
console.log(statusBody);
}
});
答案 0 :(得分:0)
我尝试在一个新的laravel应用程序中重现问题,我发现了什么错误。
Ajax函数中的data
参数需要一个像这样的
var statusBody = $('#status').val();
var dataString = "status="+statusBody;
$.ajax({
type: "POST",
url: 'status',
data: dataString
});
感谢Antonis指出Ajax调用