本文实例为大家分享了ajax实现远程通信,供大家参考,具体内容如下
第一个文件:html
!DOCTYPE html>
html lang="en">
head>
meta charset="UTF-8">
title>ajax解决跨域问题/title>
script src="jquery-3.0.0.min.js" type="text/javascript">/script>
/head>
body>
script>
$.ajax({
type:"POST",
url:"postDemo.php",
data:{
"url":"http://192.168.4.101:90/PHPStudy4/server.php",
"username":"admin",
"password":"admin",
},success:function(data){
var result=eval("("+data+")");
console.log(result);
}
})
/script>
/body>
/html>
第二个文件:服务器端处理数据
?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2016-7-21
* Time: 10:12
*/
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// echo json_encode(array("111"=>"112"));
if (isset($_POST["url"]) isset($_POST["username"]) isset($_POST["password"])) {
$result = postDemo($_POST["url"], array("username" => $_POST["username"], "password" => $_POST["password"]));
echo $result;
} else {
echo json_encode(array("msg2" => "!!!!!!!!!!!!!!!!!!!!!error!!!!!2"));
}
} else {
echo json_encode(array("msg" => "error!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"));
}
function postDemo($url, $data)
{
$query = http_build_query($data);
$options = array(
"http" => array(
"header" => "Content-type: application/x-www-form-urlencoded\r\n" .
"Content-length:" . strlen($query) . "\r\n" .
"User-Agent:MyAgent/1.0/r/n",
"method" => "POST",
"content" => $query
)
);
$content = stream_context_create($options);
$result = file_get_contents($url, false, $content);
return $result;
}
//echo postDemo("http://192.168.4.101:90/PHPStudy4/server.php",array("username"=>"admin","password"=>"admin"));
其中"url":"http://192.168.4.101:90/PHPStudy4/server.php",这个url就是我们向远端的访问地址.
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:- AJAX机制详解以及跨域通信
- AJAX简单异步通信实例分析
- 快速获取Ajax通信对象的方法