2017-08-13 57 views
0

我有一個textarea,我嘗試使用axios和vue向laravel提交數據,但它不起作用。我嘗試將數據提交給ucfirst,然後將其返回。如何從Vue.js返回Laravel中的數據Axios

new Vue({ 
el:'#root', 
data:{ 

    areamodel: '' 
}, 

methods:{ 
insert:function(){ 
    axios.post('/vue').then(response => this.areamodel = response.data); 
    } 

} 

}); 

namespace App\Http\Controllers; 

use Illuminate\Http\Request; 

class PostController extends Controller 
{ 
     public function vue(Request $request) 
    { 
$abc = ucfirst($request->input('areamodel')); 

return $abc; 


    } 
} 
+0

什麼是顯示錯誤? –

+0

只是空白沒有錯誤,當我去vue開發工具它只是areamodel:「」 –

+0

嘗試'''console.log(response.data);''' –

回答

1

的問題是,VUE的實例不可用的Axios公司內部。

new Vue({ 
el:'#root', 
data:{ 
    areamodel: '' 
}, 

methods:{ 
insert:function(){ 
    let vueInstance = this; //This line is important 

    axios.post('/vue', {areamodel: vueInstance.areamodel}).then(
     function(response){ 
     vueInstance.areamodel = response.data.areamodel; 
     } 
    ).catch(function(error){ console.log(error.message); }); 
    } 
} 

}); 

和服務器端

namespace App\Http\Controllers; 

use Illuminate\Http\Request; 

class PostController extends Controller 
{ 
    public function vue(Request $request) 
    { 
    $abc = ucfirst($request->input('areamodel')); 

    return response()->json(['areamodel' => $abc]); 

    } 
} 
+0

相同,我認爲它有一些laravel –

+0

我把這個返回['areamodel'];現在它的工作,但它只是模型回來,我需要輸出的areamodel –

+0

我已經更新了答案。 –