Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript die(json_encode))重定向到显示json数据的页面_Javascript_Php_Html_Jquery_Ajax - Fatal编程技术网

Javascript die(json_encode))重定向到显示json数据的页面

Javascript die(json_encode))重定向到显示json数据的页面,javascript,php,html,jquery,ajax,Javascript,Php,Html,Jquery,Ajax,表单提交完成后,页面将显示原始json数据,而不是将其记录到控制台。php和html代码都在同一个页面上,所以我根本不希望页面发生变化 职位 php表单处理 <?php if (isset($_POST['orderId'])){ header('Content-Type: application/json'); require 'private/database.php'; $sql = "SELECT * FROM form";

表单提交完成后,页面将显示原始json数据,而不是将其记录到控制台。php和html代码都在同一个页面上,所以我根本不希望页面发生变化

职位

php表单处理

<?php 
if (isset($_POST['orderId'])){
    header('Content-Type: application/json');
    require 'private/database.php';

    $sql = "SELECT * FROM form";
    $result = mysqli_query($conn, $sql);

    $data = array();
    if (mysqli_num_rows($result) > 0) {
        while ($row = mysqli_fetch_assoc($result)) {
            $data[] = $row;
        }
    }
    die(json_encode($data));
}
?><!DOCTYPE html>
<?php
if(isset($_POST['loadInfo'])){
    header('Content-Type: application/json');
    require 'private/database.php';

    $sql = "SELECT * FROM form";
    $result = mysqli_query($conn, $sql);

    $data = array();
    if (mysqli_num_rows($result) > 0) {
        while ($row = mysqli_fetch_assoc($result)) {
            $data[] = $row;
        }
    }
    die(json_encode($data));
}
?><!DOCTYPE html>

我已经在另一个网页上实现了类似的东西,但它按照我的意图工作

职位

函数loadInfo(){
jQuery(函数($){
$.ajax({
方法:“张贴”,
url:“/admin.php”,
数据:{loadInfo:1},
数据类型:“json”,
成功:功能(数据){
控制台日志(数据);
对于(变量i=0;i
php表单处理

<?php 
if (isset($_POST['orderId'])){
    header('Content-Type: application/json');
    require 'private/database.php';

    $sql = "SELECT * FROM form";
    $result = mysqli_query($conn, $sql);

    $data = array();
    if (mysqli_num_rows($result) > 0) {
        while ($row = mysqli_fetch_assoc($result)) {
            $data[] = $row;
        }
    }
    die(json_encode($data));
}
?><!DOCTYPE html>
<?php
if(isset($_POST['loadInfo'])){
    header('Content-Type: application/json');
    require 'private/database.php';

    $sql = "SELECT * FROM form";
    $result = mysqli_query($conn, $sql);

    $data = array();
    if (mysqli_num_rows($result) > 0) {
        while ($row = mysqli_fetch_assoc($result)) {
            $data[] = $row;
        }
    }
    die(json_encode($data));
}
?><!DOCTYPE html>


为什么这两个页面的行为不同?

您应该停止默认表单事件。 浏览器将继续该操作并提交表单,以便使用POST重新加载页面

你可以阻止使用

jQuery(函数($){
$(“#idSearch”).submit(函数(事件){

event.preventDefault();//您应该停止默认窗体事件。 浏览器将继续该操作并提交表单,以便使用POST重新加载页面

你可以阻止使用

jQuery(函数($){
$(“#idSearch”).submit(函数(事件){
event.preventDefault();//已解决:

<form action="index.php" method="POST" id="idSearch">
  <input type="text" name="orderId" placeholder="訂單號瑪" required><br>
  <input type="submit">
</form>


当表单被发送到同一个.php时,我不认为我需要一个动作参数。我添加了路径后,代码就运行了。奇怪。

解决了:

<form action="index.php" method="POST" id="idSearch">
  <input type="text" name="orderId" placeholder="訂單號瑪" required><br>
  <input type="submit">
</form>



我认为我不需要表单的操作参数,因为它被发送到同一个.php?我添加了一个路径后,代码就工作了。奇怪。

同样在第二个示例中,当你真的想使用
类型
属性时,你正在使用
方法
属性。很可能第二个属性实际上正在发送一个
get
请求。同样在第二个示例中,当您确实想要使用
type
属性时,您正在使用
方法
属性。第二个属性很可能实际发送了
get
请求。不确定原因,但表单现在似乎没有提交。我在php代码中为if语句添加了一个回音,但没有执行。没有任何错误消息。“网络”选项卡的结果是什么?请求的HTTP状态是什么,如果原始内容是什么?200好的。它应该返回的数据看起来也很好。所以问题可能是我的php代码?我记得在另一页上这一行有问题。“die(json_encode($data));“我更喜欢这样使用:
header('Content-Type:text/plain;chaset=UTF-8');echo-json_-encode($data);退出(0)
,还有…哦,我发现了一个错误:
success
vs
success
-我已经更新了答案。谢谢你发现了!但是由于某种原因它仍然不起作用哈哈,我明天再试一次。不知道为什么,但表单现在似乎没有提交。我在php代码中添加了一个对if语句的回应,但它没有得到executed。没有任何错误消息。“网络”选项卡的结果是什么?请求的HTTP状态是什么,如果原始内容是什么?200好的。它应该返回的数据看起来也很好。所以问题可能是我的php代码。我记得在另一页上,这行代码有问题。“die(json_encode($data));”我更喜欢这样使用:
header('Content-Type:text/plain;chaset=UTF-8');echo-json_-encode($data);exit(0);
,还有……哦,我发现了一个问题:输入错误:
success
vs
success
-我已经更新了答案。谢谢你发现了!但出于某种原因它仍然不起作用哈哈,我明天再试一次