【问题标题】:Change preloaded content [AJAX]更改预加载内容 [AJAX]
【发布时间】:2019-01-23 17:37:50
【问题描述】:

我的文件: signup.phpform.phpsuccess.phpfailure.php

signup.php 中有一个区域<div id="myarea"></div>。在这个块内部,我默认通过<?php include ("form.php"); ?> 加载form.php

现在我想显示success.phpfailure.php 是否注册成功。

我的问题:如何替换 myarea 中的内容/加载文件? (直到现在我还没有写表单数据发送到的文件。)

编辑:我是 php 新手等等

【问题讨论】:

  • 您可以选择在页面加载后使用 ajax 获取,并在获得结果后使用 javascript 更改页面内容。或者您可以使用 php 动态加载它们并使用 if/else 来确定要包含的内容。
  • 嘿西蒙 - 只是跟进。你的问题得到了满意的回答吗?如果我们可以提供更多帮助,请在我的答案下方添加评论,或编辑您的问题以寻求更多帮助。否则,如果您可以选择“最佳答案”(单击答案旁边的复选标记)来结束问题,那就太好了。 还花点时间对复选标记进行投票(而不是/除此之外),以奖励也有帮助的答案 - 它不花钱,但对我们有帮助 如果没有答案很有帮助,请发布您自己的答案并用复选标记选择它以结束问题。 谢谢!

标签: javascript php jquery html ajax


【解决方案1】:

这不是使用 ES2017,但它是一个简单的例子,会给你大致的想法。

我假设您正在使用 ajax 来验证登录,所以如下所示。

当您从 ajax 中返回时(即在 ajax 内部 .done().success 或任何您使用的函数,您可以使用 $.load() 加载新内容并使用 $('#myarea').html() 替换#myarea div 的内容,或者甚至像 $('#someHiddenDiv').show() 这样简单的东西来显示以前隐藏的 div。

这是一个简单的例子:

var my_id = $('#loginid').val();
var my_pw = $('#loginpw').val();
$.ajax({
    type: 'post',
     url: 'ajax/login.php',
    data: 'id=' +my_id+ '&pw=' +my_pw,
}).done(function(recd){
    if (recd==1) {
        var newhtml = $.load('success.php');
        $('#myarea').html(newhtml);
        //-OR-
        //$('#myhiddendiv').show();
    }else{
        $('#loginid').val('');
        $('#loginpw').val('');
        alert('Please try logging in again');
    }
});

现在您看到了一个非常基本的示例,下面是我们这些天的做法:

How to do AJAX in 2018

Understanding the Fetch API

Async/Await in 2017

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-31
    相关资源
    最近更新 更多