Code前端首页关于Code前端联系我们

包含使用php表单跨域post请求的词条

terry 2年前 (2023-09-30) 阅读数 44 #PHP
文章标签 in_array()

本文目录一览:

  • 1、怎么用php跨域获取内容
  • 2、如何用php向服务器发送post请求
  • 3、post方式请求怎么解决跨域问题
  • 4、php跨域post服务端提交表单
  • 5、php js跨域请求,并设置cookies

怎么用php跨域获取内容

php不存在跨域问题,只有前段语言才会有.

php里面 curl 就是跨域请求数据的内置函数,它可以post,get,file都能实现。请求地址的时候注意加上http/https

如何用php向服务器发送post请求

用PHP向服务器发送HTTP的POST请求,代码如下:

?php

/**    

 * 发送post请求    

 * @param string $url 请求地址    

 * @param array $post_data post键值对数据    

 * @return string    

 */    

function send_post($url, $post_data) {    

      $postdata = http_build_query($post_data);    

      $options = array(    

            'http' = array(    

                'method' = 'POST',    

                'header' = 'Content-type:application/x-www-form-urlencoded',    

                'content' = $postdata,    

                'timeout' = 15 * 60 // 超时时间(单位:s)    

            )    

        );    

        $context = stream_context_create($options);    

        $result = file_get_contents($url, false, $context);             

        return $result;    

}

使用的时候直接调用上面定义的send_post方法:

$post_data = array(

    'username' = 'username',

    'password' = 'password'

);

send_post('网址', $post_data);

post方式请求怎么解决跨域问题

服务端设置支持跨域

主要是Access-Control-Allow-Origin头参数,该参数用来指定允许哪个来源的域请求。服务端代码如下:

// 表示支持所有来源的域进行请求

// 实际在操作过程中可以设置为指定域

header('Access-Control-Allow-Origin:*');

$data = json_encode(array("id" = "1", "name" = "tom"));

echo $data;

对应的js代码:

$.ajax({

    type: "POST",

    url: "",

    dataType: "json",

    success: function(data) {

        console.log(data);

    }

});

php跨域post服务端提交表单

$.post('url', {postdata: "aaa", postdata: "bbb"}, function(data) {

    //data为返回数据

});

php js跨域请求,并设置cookies

首先要说的是,阁下的问题看起颇费神,中文英文符号混杂,大小写混杂,让阅读者看起相当吃力。

其次,你跨域,JS不能使用POST和GET请求的,这是浏览器安全规则,不过可以使用其它办法来获得类似结果。

JS跨域,POST可以通过提交隐藏表单至隐藏框架页来得到请求结果。而GET请求则可以在目标地址后面加上要请求的GET参数然后抓取目标页的所有网页内容,再通过正则处理获得结果;也可以使用JSON来获取(详情请自行学习JSON,很简单的)。

阁下的问题,只是获取COOKIE时间,那么可以直接通过JS抓取目标页或JSON获得。而B域名的cookies.php,完全不需要访问index.php来获得上一个COOKIE的时间,因为它们是同一个站,index.php能访问到的COOKIE,cookies.php也能访问到。

B域名的cookies.php参考如下(仅供参考,具体请根据自己情况另行写代码):

if(isset($_COOKIE["user"]))//

    $time = $_COOKIE["user"];//

else

    $time = 0;//

$_COOKIE["user"] = time();

echo $time;

//或输出JSON,请自行学习

终上,仅是提供一个思路,更多的还是要靠阁下自行摸索学习。

另外,这种跨域请求,建议使用JSON,因为它简单方便。当你学会了,就表示你会写接口和使用接口了(虽然这个只是最简单的接口)。当然除了JSON还可以使用XML,只是性能稍差一些,也不错

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

热门