Home >Backend Development >PHP Tutorial >javascript - Issues with cross-domain requests

javascript - Issues with cross-domain requests

WBOY
WBOYOriginal
2016-10-19 10:40:511158browse

javascript - Issues with cross-domain requests

My front-end code is like this,
The backend is written in php,

<code><?php
class IBaseAction extends Action
{   
public $params = array();// 所有请求的参数
    public $return = array('returnCode' =>200, 'returnDesc' => 'success'); // 返回的基础数据
    function __construct()
    {
        $this->return['serverTime'] =time();
        Log::record('传入的参数:' . var_export($_REQUEST, true),Log::DEBUG);
        $this->params = @json_decode(base64_decode(I('post.params'),true),true);
        if (!$this->params){
            $this->return['returnCode'] =100;
            $this->return['returnDesc'] = 'sign failed!';
            $this->responseJson();
        }else if(C('KEY')!=$this->params['key']){
            $this->return['returnCode'] =100;
            $this->return['returnDesc'] = 'sign failed!';
            $this->return['returnAlert'] = '密钥不正确!';
            $this->responseJson();
        }
    }

    /*
     * 检查接口传入的方式
     */
    public function checkPublicParams($interfaces) {
        $pass = false;
        $this->return['returnCode'] = 100;
        if (!I('post.')) {
            $this->return['returnDesc'] = '请求方式错误';
        } else if (!I('post.method') || !I('post.params')) {
            $this->return['returnDesc'] = '接口参数错误';
        } else if (!array_key_exists(I('post.method'), $interfaces)) {
            $this->return['returnDesc'] = '接口名错误';
        } else {
            $this->return['returnCode'] = 200;
            $pass = true;
        }
        return $pass;
    }
    protected function responseJson()
    {
        exit(json_encode($this->return));
    }
}</code>

The unchanged status is that the return authentication failed
"{"returnCode":100,"returnDesc":"sign failed!","serverTime":1476799012}"
I also found a way to modify it on the Internet
javascript - Issues with cross-domain requests
But I don’t know how Modify

Reply content:

javascript - Issues with cross-domain requests

My front-end code is like this,
The backend is written in php,

<code><?php
class IBaseAction extends Action
{   
public $params = array();// 所有请求的参数
    public $return = array('returnCode' =>200, 'returnDesc' => 'success'); // 返回的基础数据
    function __construct()
    {
        $this->return['serverTime'] =time();
        Log::record('传入的参数:' . var_export($_REQUEST, true),Log::DEBUG);
        $this->params = @json_decode(base64_decode(I('post.params'),true),true);
        if (!$this->params){
            $this->return['returnCode'] =100;
            $this->return['returnDesc'] = 'sign failed!';
            $this->responseJson();
        }else if(C('KEY')!=$this->params['key']){
            $this->return['returnCode'] =100;
            $this->return['returnDesc'] = 'sign failed!';
            $this->return['returnAlert'] = '密钥不正确!';
            $this->responseJson();
        }
    }

    /*
     * 检查接口传入的方式
     */
    public function checkPublicParams($interfaces) {
        $pass = false;
        $this->return['returnCode'] = 100;
        if (!I('post.')) {
            $this->return['returnDesc'] = '请求方式错误';
        } else if (!I('post.method') || !I('post.params')) {
            $this->return['returnDesc'] = '接口参数错误';
        } else if (!array_key_exists(I('post.method'), $interfaces)) {
            $this->return['returnDesc'] = '接口名错误';
        } else {
            $this->return['returnCode'] = 200;
            $pass = true;
        }
        return $pass;
    }
    protected function responseJson()
    {
        exit(json_encode($this->return));
    }
}</code>

The unchanged status is that the return authentication failed
"{"returnCode":100,"returnDesc":"sign failed!","serverTime":1476799012}"
I also found a way to modify it on the Internet
javascript - Issues with cross-domain requests
But I don’t know how Modify

For OPTIONS requests, the returned HTTP response should contain the following information:

1. Methods to allow cross-domain requests

<code>Access-Control-Allow-Methods: GET,POST</code>

2. Allow custom headers for cross-domain requests

Such as AJAX request

<code>Access-Control-Allow-Headers: X-Requested-With</code>

3. Sources that allow cross-domain requests

<code>Access-Control-Allow-Origin: *</code>

For details, please refer to:

http://www.ruanyifeng.com/blo...

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn