html5提交数据到php跨域,php 实现jquery+ajax 跨域数据调用实例

本文章是基于jquery的ajax来实现数据跨域调用,主要是利用php实时返回json数据,这样就方便的实现的ajax跨域数据调用了。

jquery文件我这里不提供下载了,大家可以直接到google去下载哦,

可以在页面定义一个调用方法,如下:

代码如下

复制代码

function getData(){

$.getJSON("?callback=?",

{

"m":"data",// 指定php的文件名字

"act":"getdata",// 指定php文件中的方法

"name":"问题儿童"// 传入的参数

},

function(data) {

// 获得返回值

}

});

}

对应链接下(123.123.123.123)的PHP文件,一般默认先调用index.php文件,通过index.php文件内的方法处理后,转到对应的php文件,并且找到对应的方法,执行之。

index.php代码如下:

代码如下

复制代码

/**

* 入口文件

*/

$string = $_SERVER["REQUEST_URI"];// 获取访问的url

$m = get_m($string);

$file_path = "app/".$m.".php";

define('IS_INDEX',true);// 阻止直接访问app目录

require ($file_path);

/**

*

* 获取访问php文件

* @param string $url

*/

function get_m($url){

$strings = explode('m=', $url);

$res = explode("&", $strings[1]);

return empty($res[0])?'index':$res[0];

}

?>

data.php代码如下:

代码如下

复制代码

/**

* data文件

*/

$act = !empty($_GET['act']) ? $_GET['act'] : '';

if ($act == 'getdata')

{

$name = "我的名字叫:".$_REQUEST['name'];

echo $_REQUEST["callback"]."(".json_encode($name).")";

}

?>

成功调用后,画面就能获取到返回的json数据了

总结:

方法简单的很就是利用了php的json_encode()函数把用户提交过来的数据我进行处理之后再输出json数据,jquery来接受这些数据就实现了我们要的跨域数据调用了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用Java和JavaScript中的AJAX和CORS来实现请求,可以按照以下步骤进行设置: 在Java后端: 1. 在处理请求的Java代码中,添加以下响应头,以启用CORS: ```java response.setHeader("Access-Control-Allow-Origin", "http://example.com"); // 允许特定的源访问 response.setHeader("Access-Control-Allow-Methods", "GET, POST, OPTIONS"); // 允许的HTTP方法 response.setHeader("Access-Control-Allow-Headers", "Content-Type"); // 允许的请求头 response.setHeader("Access-Control-Allow-Credentials", "true"); // 是否允许发送Cookie response.setHeader("Access-Control-Max-Age", "3600"); // 预检请求的有效期 ``` 2. 在处理OPTIONS请求的方法中添加以下响应头,以处理预检请求(preflight request): ```java response.setHeader("Access-Control-Allow-Methods", "GET, POST, OPTIONS"); response.setHeader("Access-Control-Allow-Headers", "Content-Type"); response.setHeader("Access-Control-Max-Age", "3600"); response.setStatus(HttpServletResponse.SC_OK); ``` 在JavaScript前端: 3. 使用XMLHttpRequest或fetch API发送请求,并在请求头中添加Origin字段: ```javascript var xhr = new XMLHttpRequest(); xhr.open('GET', 'http://api.example.com/data', true); xhr.setRequestHeader('Content-Type', 'application/json'); xhr.setRequestHeader('Origin', 'http://example.com'); xhr.withCredentials = true; // 允许发送Cookie xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr.status === 200) { var response = JSON.parse(xhr.responseText); // 处理响应 } }; xhr.send(); ``` 这样,Java后端设置了CORS支持,允许特定源访问资源,并在JavaScript前端发送请求时设置了请求头,指示该请求是一个请求。同时,设置了withCredentials属性为true,以允许发送Cookie。 请注意,实际应用中需要根据需求和安全考虑进行适当的配置和处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值