简体   繁体   中英

Transfer to another page in AJAX call

Hi there is it possible to redirect to another page using ajax? I have this piece of code that I have been working on to try this.

<script type="text/javascript">
$(document.body).on('click', '#btnPrintPrev', function() {
    $.ajax({
        url: '/pdfdatacal',
        data: {
          dummydata: "This is a dummy data"
        },
       });
});
  </script>

Now it should be able to carry data to another page and redirect there. Problem is it doesn't.

This is what I am using in my route

Route::get('/pdfdatacal', 'GenerateReportController@pdfdatacal');

Then in the controller

 public function pdfdatacal(Request $request) {
        return $request->data['dummydata'];

    }

My expected result should be a blank page containing the value of dummydata but it doesn't do that in my code. How do I accomplish this?

Use

window.location.href = "http://yourwebsite.com/pdfdatacal";

In your success call

The idea is that you send data to your controller, it sends back a response, then you redirect from javascript to where you want.

$.ajax({
    url: '/pdfdatacal',
    type : 'GET',
    data : {
        dummydata: "This is a dummy data"
    },
    success : function(data) {              
        window.location.href = "http://yourwebsite.com/pdfdatacal";
    }
});

But if your controller does nothing with the data you send, then you don't need to use ajax at all, simple redirect using javascript.

you could use window.location.assign('your URL here!'); in the success.

success : function(data) {              
        window.location.assign('your URL here!');
    }

first your ajax must be something like

$.ajax({
    url: '/pdfdatacal',
    method: 'post',
    data: { dummydata: "This is a dummy data" },
    dataType: "JSON",
    success: function(response){
        console.log(response); // just to check if the data is being passed
        // do something you want if ever . 
    }
});

then in your routes

Route::post('/pdfdatacal', 'GenerateReportController@pdfdatacal');

in your controller

public function pdfdatacal(Request $request) {
    return response()->json($request->dummydata);
}

hope it helps ..

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