codeigniter或PHP - 如何在特定的AJAX POST提交后转到URL

I am successfully inserting data into my database in codeigniter via a an ajax post from javascript:

//JAVASCRIPT:

$.ajax({
   type: "POST",
   url: submissionURL,
   data: submissionString,
   failure: function(errMsg) {
        console.error("error:",errMsg);
   },
   success: function(data){
        $('body').append(data); //MH - want to avoid this
   }
});

//PHP:
public function respond(){
    $this->load->model('scenarios_model');
    $responseID = $this->scenarios_model->insert_response();
    //redirect('/pages/view/name/$responseID') //MH - not working, so I have to do this
    $redirectURL = base_url() . 'pages/view/name/' . $responseID;
    echo "<script>window.location = '$redirectURL'</script>";
}

But the problem is that I can't get codeigniter's redirect function to work, nor can I get PHP's header location method to work, as mentioned here:

Redirect to specified URL on PHP script completion?

either - I'm guessing this is because the headers are already sent? So as you can see, in order to get this to work, I have to echo out a script tag and dynamically insert it into the DOM, which seems janky. How do I do this properly?

Maybe you can 'return' the url in respond function and use it in js
PHP :

public function respond(){
    // code
    $redirectURL = base_url() . 'pages/view/name/' . $responseID;
    return json_encode(['url' => $redirectURL]);
}


JS :

$.ajax({
   type: "POST",
   url: submissionURL,
   data: submissionString,
   dataType: 'JSON',
   failure: function(errMsg) {
        console.error("error:",errMsg);
   },
   success: function(data){
      window.location = data.url
   }
});

you have to concatenate the variable. That's all.

 redirect('controller_name/function_name/parameter/'.$redirectURL);