当前位置: 首页 > 知识库问答 >
问题:

如何使用jqueryajax从服务器端打印客户端页面中的成功消息

任昊苍
2023-03-14

我使用jQueryAjax发布数据并相应地显示成功消息。代码如下:

Javascript

  <script type="text/javascript" 
   src="http://code.jquery.com/jquery-1.3.2.min.js">
</script>
        <script>
            $(document).ready(function() {
                $('form').submit(function(event) { //Trigger on form submit
                    $('#name + .throw_error').empty(); //Clear the messages first
                    $('#success').empty();

                    var postForm = { //Fetch form data
                        "name": $("#name").val(),
                        "element_4_1": $("#element_4_1").val(),
                        "element_4_2": $("#element_4_2").val(),
                        "element_4_3": $("#element_4_3").val(),
                        "email": $("#email").val(),
                        "input4": $("#input4").val(),
                    };

                    $.ajax({ //Process the form using $.ajax()
                        type        : 'POST', //Method type
                        url         : 'contact.php', //Your form processing file url
                        data        : postForm, //Forms name
                        dataType    : 'json',
                        success     : function(data) {
console.log("inside success3") ;
$("#stage").text(data);alert(data);

                        if (!data.success) { //If fails
                            if (data.errors) { //Returned if any error from process.php
                                $('.throw_error').fadeIn(1000).html(data.errors); //Throw relevant error
                                                         console.log("inside failure") ;
                            }
                        } else {
                                                        console.log("inside success") ;
                                $('#stage').fadeIn(1000).append('<p>' + data.posted + '</p>'); 
console.log("inside success2") ;
                            }
                        }
                    });
                    event.preventDefault(); //Prevent the default submit
                });
            });
        </script>

HTML

<form class="contact-form" method="post">


                        <h4 style="padding-top:8px;">Your email address will not be published. Required fields are marked <font color="red">*</font></h4>
                            <label>Name<font color="red">*</font></label><br>
                            <input class="form-control" style="height:35px;width:230px;border-radius:4px;" required type="text" name="name" id="name"/><br>
                            <label>Phone<font color="red">*</font></label><br>


        <span>

            <input id="element_4_1" name="element_4_1" class="element text" size="3" maxlength="3" value=""  type="text"> -

        </span>
        <span>
            <input id="element_4_2" name="element_4_2" class="element text" size="4" maxlength="4" value="" type="text"> -

        </span>
        <span>
            <input id="element_4_3" name="element_4_3" class="element text" size="10" maxlength="10" value=""  type="text" required >

        </span>

<br><br>
                            <label>Email<font color="red">*</font></label><br>
                            <input id="email" class="form-control" style="height:35px;width:230px;border-radius:4px;" required type="email" name="text"/><br>
                            <label for="input4">Message</label>
                            <textarea name="contact_message" class="form-control" rows="4" id="input4"></textarea>
                            <p>&nbsp;</p>
                            <button type="submit" style="margin-left:65px;"class="btn btn-large btn-info" id="button">Submit</button>
</form>  

PHP服务器端

<?php

ini_set('display_errors','On');
 error_reporting(E_ALL);
$errors = array(); 
    $form_data = array(); 
header('Content-type: application/json');
    echo json_encode($form_data);

$name=$_POST['name'];
$phone=chop($_POST['element_4_1']);
$phone.=chop($_POST['element_4_2']);
$phone.=chop($_POST['element_4_3']);
$email=chop($_POST['email']);
$message1=chop($_POST['input4']);

if ($name && $phone && $email) { 

$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
$headers .= "From: sales@test.com \n";
$recipient= "test@test.in";



$subject="Online Enquiry   ";


$message="\nName                   : $name\n";

 $message.="\nPhone                  : $phone\n";

 $message.="\nEmail ID               : $email\n";

 $message.="\nMessage                : $message1\n";


 //send auto-reply
$subject_reply="Thank you for contacting us";
$message_reply="Thank you for contacting us. We will get back to you shortly.";
//mail($email, $subject_reply, $message_reply, $headers);



 //Send Mail
//===========
if(isset($recipient, $subject, $message, $headers)) {
error_log($message);
    $form_data['status'] = 'success';
error_log($form_data['status']);

} else {
    $form_data['status'] = 'error';
error_log($form_data['status']);

} 
}

?>

现在一切正常,但是我无法将成功消息从服务器端发送到客户端。我如何才能在客户端页面中显示成功消息。在客户端javascript当我打印数据在警报框我看到一个空框。如何将数据变量从服务器端传递到客户端。

共有2个答案

狄宾实
2023-03-14

PHP的输出(使用echo或print或类似方法创建)是传递给调用Javascript的数据。

在PHP代码中,在变量$form\u data中创建一个emtpyarray(),然后使用echo json\u encode($form\u data)输出这个空数组。客户端的结果将是一个空数组,这对我来说并不奇怪。

一句话:在PHP中输出的所有内容都将作为Ajax调用的成功处理程序中的数据。

贡可人
2023-03-14

尝试

echo "<script>$('#id or .class').html('error or success message here ');</script>";
 类似资料:
  • 问题内容: 我将实现类似于Facebook通知和此网站的内容(StackOverflow的通知会通知我们是否有人为我们的问题写评论/答案等)。请注意,用户将使用我的应用程序作为网站而不是移动应用程序。 我遇到以下获取结果的答案,但我需要推送结果而不是获取结果。 根据建议,我在实体类中创建了一个简单方法,并向其中添加了@PostPersist,但此方法不起作用,因此基于此答案,我添加了persist

  • 我想在一些计算机之间建立点对点连接,这样用户就可以在没有外部服务器的情况下聊天和交换文件。我最初的想法如下: 我在服务器上制作了一个中央服务器插座,所有应用程序都可以连接到该插座。此ServerSocket跟踪已连接的套接字(客户端),并将新连接的客户端的IP和端口提供给所有其他客户端。每个客户端都会创建一个新的ServerSocket,所有客户端都可以连接到它。 换句话说:每个客户端都有一个Se

  • 问题内容: 我正在尝试创建一个可以从服务器向客户端发送消息的python应用程序。目前,我正在从这里使用此示例代码。这是一个聊天应用程序,并且运行良好。我试图修改该应用程序,并在服务器端python代码中添加了一个新功能,该功能将在客户端打印一条消息“ Dummy”,但似乎不起作用。 这是我的html代码: index.html 这是我的后端代码: web_app.py main.py 我可以在终

  • 服务器代码: 客户代码: 错误: 服务器端: 线程“主”中的异常 java.lang.数字格式异常:对于输入字符串:“ip” at Java . base/Java . lang . numberformatexception . for inputstring(numberformatexception . Java:67) 位于Java . base/Java . lang . integer

  • 问题内容: 这实际上是我在这里的第一篇文章,一段时间以来我一直在试图弄清楚这一点,但是我终于打电话给该旗帜,并将尝试寻求有关此主题的一些帮助。 因此,我有一个客户端和一个服务器,它们是根据回显客户端/服务器和安全聊天客户端/服务器建模的。我对聊天的SSL部分和使用回显仅对确保我在客户端/服务器之间收到响应不感兴趣。我将在这篇文章的底部添加所有相关代码。我现在遇到的问题是,在客户端连接后,我可以从服

  • 问题内容: 我正在尝试用两个客户端实现一个系统,其中一个客户端发送一条消息,而另一个客户端将接收该消息。下图将以更直观的方式对其进行解释: 因此,客户端1将消息发送到服务器(此工作正常),服务器接收到“推送”消息并发出应由客户端2接收的“弹出”消息。这里的问题是客户端2从未收到“流行”消息。:( 这是所有代码。 SERVER.JS 客户1(aka mobile.html) 客户2(aka web.