嗨,我希望有人可以帮助我。我的应用程序的根文件夹是cloudapp.azure.com/index.php。 cloudapp.azure.com/是我的公共文件夹。所以我的所有观点都被渲染成我的路线和控制器中的cloudapp.azure.com/index.php/welcome1。这一切都很好。
Route::post('/welcome1a', [
'uses'=>'UserController@postRegister',
'as' => 'register',
]);
Route::post('/welcome1', [
'uses'=>'UserController@postRegister1',
'as' => 'register1',
]);
public function postRegister1(Request $request){
$data1 = $request->all();
$data = JSON.parse($data1);
return response()->json(['result' => 'data1']);
}
我面临的问题是我将处理手机缺口,因此我的观点需要以html格式显示。我的HTML文件存储在我的公共文件夹(即cloudapp.azure.com/)中,因此视图将类似于cloudapp.azure.com/register.html。
我正在尝试将我的cloudapp.azure.com/register.html视图中的cloudapp.azure.com/js/script1.js中的数据发送到我的laravel应用程序识别的网址;
$.ajax({
url: url,
type: 'POST',
data: details,
dataType: "json",
success: function(result) {
console.log('result');
}
});
但似乎js文件和url没有相互通信。我的文件结构错了吗?当我使用刀片视图来做一个Ajax调用它很好,但我的html文件通过ajax调用url,它不起作用。即使我试图通过以下方式获得旧的laravel视图;
。$得到( “cloudapp.azure.com/index.php/welcome1”);它不起作用。
我已经对以下网址进行了ajax调用;
cloudapp.azure.com/index.php/welcome1
的index.php / welcome1
和/ welcome1。
没有错误,只是没有彼此沟通。
如果有人可以提供帮助,您将成为生命的救星
答案 0 :(得分:1)
public function postRegister1(Request $request){
$data1 = $request->all();
$data = json_decode($data1);
return response()->json(['result' => 'data1']);
}
JSON.parse是javaScript而不是PHP。
json_decode()是您在PHP中使用的。 http://php.net/manual/en/function.json-decode.php
但你不应该对它进行json_decode,$ request-> all()返回已发布值的数组。
我会说,删除整个json的东西,然后查看你的ajax调用是否返回了返回值。
public function postRegister1(Request $request){
return response()->json(['result' => 'testing...']);
}
然后从那里开始......
答案 1 :(得分:1)
您正在PHP中调用JS函数JSON.parse
。
所以改为
public function postRegister1(Request $request){
return response()->json([ 'result' => $request->all() ]);
}
或者,如果您只返回一个数组,laravel将自动将其转换为JSON
public function postRegister1(Request $request){
return [ 'result' => $request->all() ];
}
答案 2 :(得分:0)
您应该尝试删除< base>您的< head>
上的标记