使用 HTTP POST 使用 javascript 发送变量

问题描述 投票:0回答:0

我在使用某些软件时遇到问题。通常我们会制作培训材料,然后将其托管在 LMS 中,但这次我必须将课程结果发送到另一台服务器(使用 Articulate Storyline 360 并尝试发布到另一台网络服务器上的 php 文件)。

我已经设法插入一个触发 javascript 的事件,当我用一个简单的警告框对其进行测试时,它确实正确显示了 FORENAME、SURNAME 和 DEPOT 的变量,使用:

var player = GetPlayer();
alert("Welcome back, " + player.GetVar("Forename") + ".");

所以我知道 player.GetVar(variable) 有效。我的问题是让 POST 工作。我知道它不起作用,因为之后我没有得到成功弹出窗口,并且没有数据进入另一端。

我等待接收 JSON 的 php 文件是:

// takes raw data from the request 
$data = file_get_contents("php://input");
$json = json_decode($data);

//Get Variables
$forename = $json['Forename'];
$surname = $json['Surname'];
$depot = $json['Depot'];

我对 javascript 的经验为零,所以我真的很想找人来帮助我使用这个 POST 方法,我在谷歌上看到了很多不同的方法,但没有一个有意义。谢谢

我的 POST 代码是:

//get variables and build JSON
var player = GetPlayer();
JSONObject json = new JSONObject();
json.put("Forename", player.GetVar("Forename"));
json.put("Surname", player.GetVar("Surname"));
json.put("Depot", player.GetVar("Depot"));

//post
CloseableHttpClient httpClient = HttpClientBuilder.create().build();

    try {
        HttpPost request = new HttpPost("https://flashpoint.flogas.co.uk/assurance/include/tasks/dmbctest.php");
        StringEntity params = new StringEntity(json.toString());
        request.addHeader("content-type", "application/json");
        request.setEntity(params);
        httpClient.execute(request);
    // handle response here...
    } catch (Exception ex) {
        // handle exception here
    } finally {
        httpClient.close();
        alert("Details have been sent...");
    }

javascript post
© www.soinside.com 2019 - 2024. All rights reserved.