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就是我們向遠端的訪問地址.

發佈了41 篇原創文章 · 獲贊 50 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章