使用jQuery Ajax将JSON发送到PHP服务器-JSON错误

使用jQuery Ajax将JSON发送到PHP服务器-JSON错误,第1张

使用jQuery Ajax将JSON发送到PHP服务器-JSON错误

我能够获取json对象并在php端进行解析。某些变量的名称可能有所不同,部分原因是其中一些是预先编写的代码。这是我采取的步骤。

资料夹结构

js/script.jsphp/get_data.phpindex.html

Index.html 一种基本形式。

<div id="feedback_panel" >    <form id="feedbackform" name="feedbackform" method="post"> <div  id="email_wrapper" data-toggle="popover" data-container="body" data-placement="right">     <label  for="email">E-mail:</label>     <input type="email"  id="email" name="email" placeholder="[email protected]" required>     <span > </span> </div> <div  id="subject_wrapper" data-toggle="popover" data-container="body" data-placement="right">     <label  for="subject">Subject:</label>     <input type="text"  id="subject" name="subject" placeholder="Subject" required>     <span > </span> </div> <div  id="description_wrapper" data-toggle="popover" data-container="body" data-placement="right">     <label  for="message">message:</label>     <textarea type="text"  id="message" name="message" placeholder="message." required></textarea>     <span > </span> </div> <button type="submit" id="feedback_submit" >Submit</button>    </form></div>

*提交时, *script.js 收集数据并将其设置为对象,然后通过ajax发送到php。

$(function() {    // process the form    $('#feedbackform').submit(function(event) {        // get the form data - obj that will POSTED to get_data.php        var formData = { 'email'       : $('#email').val(), 'subject'     : $('#subject').val(), 'message'     : $('#message').val()        };        // process the forum        $.ajax({ type        : 'POST', // define the type of HTTP verb we want to use (POST for our form) url         : 'php/get_data.php', // the url where we want to POST data: formData, // our data object dataType    : 'json', // what type of data do we expect back from the server enpre      : true        }) // using the done promise callback .done(function(data) {     // log data to the console so we can see if ( ! data.success) {     console.log(data); } else {     console.log(data); }        });        // stop the form from submitting the normal way and refreshing the page        event.preventDefault();    });});

get_data.php 从script.js接收数据,进行一些验证,然后发送并发送电子邮件。

<?php$errors         = array();      // array to hold validation errors$data= array();      // array to pass back data// validate the variables ======================================================    // if any of these variables don't exist, add an error to our $errors array$email;$subject;$message;//check to see if the data exist, else write an error message,function check_data(){    $user_inputs = array();    if (empty($_POST['email'])){        $errors['email'] = 'Email is required.';        return false;    }else{        $email = $_POST['email'];        array_push($user_inputs,$email);    }    if (empty($_POST['subject'])){        $errors['subject'] = 'subject is required.';        return false;    }else{        $subject = $_POST['subject'];        array_push($user_inputs,$subject);    }    if (empty($_POST['message'])){        $errors['message'] = 'message is required.';        return false;    }else{        $message = $_POST['message'];        array_push($user_inputs,$message);    }    return $user_inputs;}//getting array of data from check_data$verify_data = check_data();// return a response ===========================================================// if there are any errors in our errors array, return a success boolean of falseif ( ! empty($errors)) {    // if there are items in our errors array, return those errors    $data['success'] = false;    $data['errors']  = $errors;    echo json_enpre($data);} else {    // show a message of success and provide a true success variable    $data['success'] = $verify_data;    $data['message'] = 'Success!';    //if everything is good, sent an email.    if($verify_data != false){        send_email($verify_data);    }}function send_email($info_data){    // person who it going    $to      = 'Email, Some <[email protected]>';    //subject of the  email    $subject = $info_data[1];    $result = str_replace(' ', '&nbsp;', $info_data[2]);    $result = nl2br($result);    $result = wordwrap($result, 70, "rn");    //body of the email.    $message = "<html><body>";    $message .= "<p style = 'width: 400px;'>" . $result . "</p>";    $message .= "<br/>";    $message .= "</body></html>";    $headers = "From: Email, Some <[email protected]>" . "rn" . 'Reply-To: '. $info_data[0] . "rn" ."X-Mailer: PHP/" . phpversion();    $headers .= "MIME-Version: 1.0rn";    $headers .= "Content-Type: text/html; charset=UTF-8";    //sent mail: check to see if it was sent.    if(mail($to, $subject, $message, $headers)){        $data["went"] = "went";        $data['message'] = 'Success!';    }else{        $data["went"] = "didn't go";        $data['message'] = 'Sorry!';    }    // echo the log    echo json_enpre($data);}?>

有很多要掩饰的,如果您有任何问题,请告诉我。我很乐意回答。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5089692.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-16
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存