在PHP内部将POST请求发送到外部API

时间:2018-10-19 05:29:40

标签: javascript php jquery ajax cross-domain

我试图弄清楚如何从PHP文件内部将POST请求发送到外部API,同时我还将POST提交到表单。本质上,当PHP文件从我的页面接收到POST时,它应该将接收到的用户名和密码发送给外部API,然后将该响应返回给我的JavaScript,以便我可以读取和使用该信息。我这样做是因为此请求需要转到我无法控制的外部API,因此通常会出现跨域错误。

这是我的PHP。提交表单后,它会从我的JavaScript接收POST请求。我需要它来将表单提交传递给API,网址为www.sample.com/api?hwerywer=funcName

INSERT INTO `Friends` (`friend_id`, `friend_email`, `Password`, `Profile_Name`, `Date_Started`, `Num_Of_Friends`) VALUES (NULL, '$Email', '$password1', '$Profile_Name', CURRENT_DATE(), '0')";

我在HTML页面中有此表单:

INSERT INTO `myFriends` (`friend_id1`,`friend_id2`) VALUES (NULL,0)";

提交后,此JavaScript运行:

<?php
if (is_ajax()) {
if (isset($_POST["action"]) && !empty($_POST["action"])) { //Checks if action value exists
    $action = $_POST["action"];
    switch($action) { //Switch case for value of action
    case "test": test_function(); break;
    }
}
}

//Function to check if the request is an AJAX request
function is_ajax() {
return isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest';
}

function test_function(){
$return = $_POST;


$return["json"] = json_encode($return);
echo json_encode($return);
}
?>

0 个答案:

没有答案