【问题标题】:How to send data from angular js to laravel 5 server如何将数据从 Angular js 发送到 laravel 5 服务器
【发布时间】:2015-10-05 21:18:50
【问题描述】:

我正在尝试将数据从 angular 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警报

【问题讨论】:

    标签: angularjs laravel-5 ionic


    【解决方案1】:

    听起来您应该使用 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');
    

    【讨论】:

    • 我认为这意味着您没有正确设置路线。您需要一个 Route::post 指向您在控制器上定义的方法。检查您的路线是否指向正确的方法。
    【解决方案2】:

    理想情况下,发送数据需要使用 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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多