javascript - 我正在将 ajax 请求传递到另一个远程服务器以获取访问记录

标签 javascript jquery mysql ajax codeigniter

我正在尝试通过从当前远程页面向其他远程服务器 Controller 传递 ajax 请求来获取数据

这是我的第一个远程查看页面代码:

<?php include 'header.php'; ?>

<script src="/assets/js/plugins/jquery.min.js"></script>
<script src="/assets/js/jquery.validate.min.js"></script>
<script>
  $.noConflict();
</script>
     <div class="breadcrumb-row">
            <div class="container">
                <div class="row">
                   <div class="col-md-12 col-sm-12 m-b30">
                     <div class="section-head">
                        <div class="newsLetter-bx">

                      <form role="form" id="status_form" name="status_form" method="post" autocomplete="off" >

                                <div class="input-group">
                                    <input name="lr_no" id="lr_no" class="form-control" placeholder="Enter L.R No" type="text">
                                    <span  class="input-group-btn">
                                    <button type="submit" id="get" class="site-button m-l10">Submit</button>
                                    </span> 
                                </div>
                            </form>
                         </div>
                      </div>
                   </div>
                 </div>
                </div>
            </div>

<script type="text/javascript">
 $("#get").click(function(){
           console.log("hello");
           status_form();
           return false;
          });

     function status_form()
       {
            var lr_no = $('#lr_no').val();
                     $.ajax({
                          url :"http://demo.barque.online/sitecontroller/StatusController/fetchStatus",
                          type:"POST",
                          dataType: "json",
                          data:{
                            lr_no:lr_no,
                         },
                          dataType: "html",
                          success: function(data)
                          {
                            console.log(data);
                            // $('#status_table').html(data);
                            // //$('#consignor_name').trigger("change");
                            // enquiryStatus();

                          },
                          error:function(data)
                          {
                            alert("error message"+data);
                          },async:false,
                      });    

      }
</script>
<?php include 'footer.php'; ?>

这是我的第二个删除 Controller :

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class StatusController extends CI_Controller {

  public function __construct()
    {
        parent::__construct();
        if(!is_logged_in()) 
        {
             redirect("user/SigninController/"); 
        }else{
              $this->load->model("sitemodel/StatusModel",'sModel');
        }
     }
    function fetchStatus(){
    $lr_no            = $this->input->post('lr_no');
    $statusResult     = $this->sModel->fetchStatus($lr_no);
    echo json_encode($statusResult);
    }
   }

这是我的模型:

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class StatusModel extends CI_Model {
                 function fetchStatus($lr_no){ 
                        $this->db->select('*'); 
                        $this->db->from('bilty');
                        $this->db->where('lr_no',$lr_no);           
                        $query = $this->db->get();
                         return $query->result();
                   }
                }

我收到此错误

jquery.min.js:4 Access to XMLHttpRequest at 'http://demo.barque.online/sitecontroller/StatusController/fetchStatus' from origin 'http://barquetranslogistics.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

我不知道我的代码哪里错了。 我只是通过 ajax 请求从我的网站页面将 id(lr_no) 传递给其他项目 Controller 的功能

最佳答案

例如,您将 JS 托管在 http://barquetranslogistics.com (源)中,而远程 PHP 服务器托管在 http://demo.barque.online,您可以使用此 PHP header 从 JS 发布跨域:

public function __construct()
{
    header('Access-Control-Allow-Origin: http://barquetranslogistics.com');
    header('Access-Control-Allow-Credentials: true');
    header('Access-Control-Max-Age: 604800');
    header("Access-Control-Allow-Headers: Origin, Content-Type, Accept, Access-Control-Request-Method");
    header("Access-Control-Allow-Methods: GET, POST");
    parent::__construct();
    if(!is_logged_in()) 
    {
        redirect("user/SigninController/"); 
    }else{
        $this->load->model("sitemodel/StatusModel",'sModel');
    }
}

关于javascript - 我正在将 ajax 请求传递到另一个远程服务器以获取访问记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57106073/

相关文章:

javascript - PrimeFaces 设置 tabView 始终查看第一个选项卡

javascript - React-select 未在请求负载中发送

javascript - 当数据通过 Angularjs 解析到达时如何触发渲染模板

javascript - 解释 "you can have functions that change other functions"

javascript - 通过 jQuery AJAX 将 HTML 数组传递给 PHP

php - 如何从 MySQL 设计数据透视表

javascript - 检测两个浏览器窗口是否打开同一个站点

jquery - 将带有动态变量的补间添加到 Scrollmagic/GSAP 时间线

php - 从其他查询的结果查询数据库

mysql - 使用子查询的查询不返回应返回的值