简体   繁体   中英

Send POST request from an external site to Laravel

I want a way to send POST from a PHP site to another one built with Laravel (the second one) to return a JSON value!

The PHP site (I use jQuery to send this POST):

$('#get_link_form').on('submit', function(event){
        $.ajax({
            url:"<?= $d; ?>/link/go/blog",
            method:"POST",
            data: new FormData(this),
            dataType:'JSON',
            contentType: false,
            cache: false,
            processData: false,
            success:function(data)
            {
                if (data.msg != "") {
                   $('#sell_house_submit').html(data.msg);
                } else {
                   $('#sell_house_submit').removeAttr('disabled').attr('href', data.link).html("Get Link!");
                }
            }
        });
        event.preventDefault();
    });

and the second site built with LARAVEL:

public function countlink_blog(Request $request) {

        $link_id = $request->link_id;
        $link = Link::where('link_id', $link_id)->get()->first();
        if ($link) {
            $count = new CountController();
        return response()->json(['link' => $link->redirect, 'msg' => '']);
        } else {
            return response()->json(['link' => '', 'msg' => 'Your Link Is Invalid!']);
        }
}

Strange that I have prepared everything, and the POST is sent successfully, but I cannot receive any result? I don't understand why? knowing that I removed CSRF from this ROUTE!

Any way to do this in Laravel?

Move route to api.php in Laravel and set your request header Accept: "application/json"

$.ajax({     
      headers: {          
        Accept: "application/json"
      }     
      data: "data",    
      success : function(response) {  
        // ...
      }
    });

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM