如何将数据从角度js发送到laravel 5服务器

时间:2015-07-16 12:22:47

标签: angularjs laravel-5 ionic

我正在尝试将数据从角度js发送到服务器.. Laravel5正在我的服务器上运行..我可以使用此获取数据但无法发送数据..我的代码是下面的

AngularJs代码:

var request = $http({
        method: "get",
        url: "http://www.myserver.com/json",
        data: { email: $scope.email },
        headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
        })
        request.success(function (data) {
            alert(data.email);
        });

服务器代码:

路线为Route::get('json','JsonController@Json_login');

控制器代码

namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Input;     

class JsonController extends Controller
{

    public function Json_login()
    {   

        $email = Input::get('email');
        $arr_Id_Status=array('email'=>$email);  
        echo json_encode($arr_Id_Status);
        }
}

但它给了我 null 警告

2 个答案:

答案 0 :(得分:0)

听起来你应该使用POST而不是GET请求。您需要在服务器上创建一个合适的POST路由,但它在客户端的语法几乎相同,只需将GET更改为POST。

var request = $http({
        method: "POST",
        url: "http://www.saadetera.com/json",
        data: { email: $scope.email },
        headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
    }).success(function (data) {
        alert(data.email);
    });

暂时不使用Laravel,但它会像:

Route::post('json','JsonController@handleLoginRequest');

答案 1 :(得分:0)

理想情况下,发送数据需要POST方法,而提取将使用GET方法。假设您要调用名为 your_controller 的控制器并使用其 your_method 函数,让我们完成整个流程:

这适合Laravel 5

Laravel控制器:

use Illuminate\Http\Request;

public function your_method(Request $request)
{
    $data = $request->input(my_data);
    //Server side data processing here

    //Returning Json or anything else here
    return response()->json(your_answer_here);
}

路线:

Route::post('your_url', ['uses' => 'your_controller@your_method']);

AngularJS:这是允许数据发送的代码块,它需要$ http服务。我们假设您的数据包含在my_data对象中。

$http.post('your_url', my_data)
.then(you_callback_success, your_callback_fail);