Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 主干网和Laravel API_Php_Api_Backbone.js_Curl_Laravel - Fatal编程技术网

Php 主干网和Laravel API

Php 主干网和Laravel API,php,api,backbone.js,curl,laravel,Php,Api,Backbone.js,Curl,Laravel,有几个问题我似乎找不到明确的答案,我目前正在开发一个RESTful api,它最终将与一些客户端设备进行交互,目前我正在关注的是api以及随之而来的web应用程序 api位于,web应用程序位于。web应用程序是一个带有主干前端的Laravel安装 我正在尝试将一些数据从主干保存到API的数据库中。所以API保存方法如下所示 public function store() { $user_details = Input::all(); $user = new User;

有几个问题我似乎找不到明确的答案,我目前正在开发一个RESTful api,它最终将与一些客户端设备进行交互,目前我正在关注的是api以及随之而来的web应用程序

api位于,web应用程序位于。web应用程序是一个带有主干前端的Laravel安装

我正在尝试将一些数据从主干保存到API的数据库中。所以API保存方法如下所示

public function store()
{
    $user_details = Input::all();

    $user = new User;

    $user->firstname = $user_details['firstname'];
    $user->surname = $user_details['surname'];
    $user->email = $user_details['email'];
    $user->password = Hash::make($user_details['password']);
    $user->remember_token = '';

    $user->save();

    return Response::json($user_details, 200);
}
Route::group(['prefix' => 'api/v1'], function(){

   Route::get('users', 'UsersController@index');
   Route::get('users/{id}', 'UsersController@get');
   Route::post('users/create', 'UsersController@store');
   /**
   * PUT request to edit the database record
   * @todo: Need to be a PUT request in the long run
   */
   Route::post('users/update/{id}', 'UsersController@update');
   /**
   * DELETE request to edit the database record
   * @todo: Need to be a DELETE request in the long run
   */
   Route::post('users/delete/{id}', 'UsersController@delete');

});
saveNewUser: function(e) {

    e.preventDefault()
    var data = this.$el.find('.js-create-new-user').serializeJSON();

    // create a new model
    var User = new app.User();

    User.save(data, {
        success: function(model, response){
            console.log(model);
            console.log(response);
            console.log("sucess");
        },
        error: function(model, response) {
            console.log(model);
        },
        wait:true
    });

}
public function create()
    {
        $data = Input::all();

        $curl = new Curl\Curl();

        $curl->post('http://pops.local/api/v1/users/create', $data);

        if ($curl->error) {
            return Response::json($curl->error, $curl->error_code);
        }
        else {
          return Response::json($curl->response, 200);
        }
    }
它的路线是这样的

public function store()
{
    $user_details = Input::all();

    $user = new User;

    $user->firstname = $user_details['firstname'];
    $user->surname = $user_details['surname'];
    $user->email = $user_details['email'];
    $user->password = Hash::make($user_details['password']);
    $user->remember_token = '';

    $user->save();

    return Response::json($user_details, 200);
}
Route::group(['prefix' => 'api/v1'], function(){

   Route::get('users', 'UsersController@index');
   Route::get('users/{id}', 'UsersController@get');
   Route::post('users/create', 'UsersController@store');
   /**
   * PUT request to edit the database record
   * @todo: Need to be a PUT request in the long run
   */
   Route::post('users/update/{id}', 'UsersController@update');
   /**
   * DELETE request to edit the database record
   * @todo: Need to be a DELETE request in the long run
   */
   Route::post('users/delete/{id}', 'UsersController@delete');

});
saveNewUser: function(e) {

    e.preventDefault()
    var data = this.$el.find('.js-create-new-user').serializeJSON();

    // create a new model
    var User = new app.User();

    User.save(data, {
        success: function(model, response){
            console.log(model);
            console.log(response);
            console.log("sucess");
        },
        error: function(model, response) {
            console.log(model);
        },
        wait:true
    });

}
public function create()
    {
        $data = Input::all();

        $curl = new Curl\Curl();

        $curl->post('http://pops.local/api/v1/users/create', $data);

        if ($curl->error) {
            return Response::json($curl->error, $curl->error_code);
        }
        else {
          return Response::json($curl->response, 200);
        }
    }
在前端(web应用程序),我保存了这样一个模型

public function store()
{
    $user_details = Input::all();

    $user = new User;

    $user->firstname = $user_details['firstname'];
    $user->surname = $user_details['surname'];
    $user->email = $user_details['email'];
    $user->password = Hash::make($user_details['password']);
    $user->remember_token = '';

    $user->save();

    return Response::json($user_details, 200);
}
Route::group(['prefix' => 'api/v1'], function(){

   Route::get('users', 'UsersController@index');
   Route::get('users/{id}', 'UsersController@get');
   Route::post('users/create', 'UsersController@store');
   /**
   * PUT request to edit the database record
   * @todo: Need to be a PUT request in the long run
   */
   Route::post('users/update/{id}', 'UsersController@update');
   /**
   * DELETE request to edit the database record
   * @todo: Need to be a DELETE request in the long run
   */
   Route::post('users/delete/{id}', 'UsersController@delete');

});
saveNewUser: function(e) {

    e.preventDefault()
    var data = this.$el.find('.js-create-new-user').serializeJSON();

    // create a new model
    var User = new app.User();

    User.save(data, {
        success: function(model, response){
            console.log(model);
            console.log(response);
            console.log("sucess");
        },
        error: function(model, response) {
            console.log(model);
        },
        wait:true
    });

}
public function create()
    {
        $data = Input::all();

        $curl = new Curl\Curl();

        $curl->post('http://pops.local/api/v1/users/create', $data);

        if ($curl->error) {
            return Response::json($curl->error, $curl->error_code);
        }
        else {
          return Response::json($curl->response, 200);
        }
    }
这会向webapplication.local/users/create方法发送POST请求,如下所示

public function store()
{
    $user_details = Input::all();

    $user = new User;

    $user->firstname = $user_details['firstname'];
    $user->surname = $user_details['surname'];
    $user->email = $user_details['email'];
    $user->password = Hash::make($user_details['password']);
    $user->remember_token = '';

    $user->save();

    return Response::json($user_details, 200);
}
Route::group(['prefix' => 'api/v1'], function(){

   Route::get('users', 'UsersController@index');
   Route::get('users/{id}', 'UsersController@get');
   Route::post('users/create', 'UsersController@store');
   /**
   * PUT request to edit the database record
   * @todo: Need to be a PUT request in the long run
   */
   Route::post('users/update/{id}', 'UsersController@update');
   /**
   * DELETE request to edit the database record
   * @todo: Need to be a DELETE request in the long run
   */
   Route::post('users/delete/{id}', 'UsersController@delete');

});
saveNewUser: function(e) {

    e.preventDefault()
    var data = this.$el.find('.js-create-new-user').serializeJSON();

    // create a new model
    var User = new app.User();

    User.save(data, {
        success: function(model, response){
            console.log(model);
            console.log(response);
            console.log("sucess");
        },
        error: function(model, response) {
            console.log(model);
        },
        wait:true
    });

}
public function create()
    {
        $data = Input::all();

        $curl = new Curl\Curl();

        $curl->post('http://pops.local/api/v1/users/create', $data);

        if ($curl->error) {
            return Response::json($curl->error, $curl->error_code);
        }
        else {
          return Response::json($curl->response, 200);
        }
    }
如果我查看
$curl->response
,那么我会看到正在发送的数据对象——我认为这意味着curl请求正在成功发送。但是API的数据库中没有更新任何内容


我这样做完全错了吗?主干网是否应该直接向API发送/发出请求,并将PHP留在web应用程序后面,以执行API不执行的操作,如调整图像大小等?

您可以直接从主干网发送请求,但不必这样做。一切看起来都很好。检查从
$user->save()返回的内容通过编写类似的内容:

dd($user->save());

如果一切正常,您应该得到
true
,如果有任何错误,您应该得到
false

您可以直接从主干发送请求,但不必这样做。一切看起来都很好。请检查
$user->save()返回的内容
dd($user->save());
)@Kasyx这是你创建的答案吗?我会勾选它,这有助于它工作。谢谢,答案准备好了。