我可以在发布表单输入时重定向到新的php文件吗?

时间:2015-03-06 14:06:40

标签: javascript jquery html http post

我有一个html网页,我用它来获取一些用户输入。然后使用jquery将此输入发布到php脚本,php脚本又将get请求发送到REST API以接收json数据。

我的问题是:是否可以将我的php文件更改为另一个嵌入了php的网页,并在将变量发布到同一个脚本时重定向到此,这样我就可以同时在新页面的表格中显示json结果

我已经在javascript文件中收到了json,我知道我可以用它来创建一个表,我只是感兴趣,如果我可以在php页面上一次性完成这一切,因为我已经编写了脚本使用json数据填充表。

我已经包含了一些代码的基本片段来帮助解释我在做什么。

HTML:

<head>
<script type="text/javascript" src="collect_User_Input.js"></script>
</head>
<p> What is the unique id of the beacon? </p> 
<form> <input type="text" id="uniqueId" /> </form> 
<button onclick="collect_User_Input();" >Send Request</button>

JS:

var uniqueId = document.getElementById('uniqueId');
$.post("send_Request.php", { uniqueId: uniqueId.value },function(result) {
alert(result);

PHP:

$uniqueId = $_POST["uniqueId"];

(使用curl获取GET请求)

 echo ($uniqueId);

我尝试跳过javascript步骤并直接提交表单,但这总是给了我禁止的错误消息。你可能已经猜到我对此很新,所以欢迎任何建议。

1 个答案:

答案 0 :(得分:1)

在PHP中,您很可能希望使用json_encode返回一些JSON: http://php.net/manual/en/function.json-encode.php

在您的JSON中,您可以返回成功值 - 然后根据您可以使用以下内容重定向的值:

window.location

如果它与uniqueID不同,您甚至可以使用第二个属性返回您希望用户重定向到的页面:

{"success":true,"location":"/your/path/here.html"}

另一方面,如果出现错误,您可以使用相关消息将其返回到您的页面:

{"success":false,"message":"ID not found"}

我在执行重定向之前使用此过程来检查服务器上的某些内容是否有效,这听起来或多或少与您想要做的相同?