0

我正在使用 Ajax 从表单向 php 文件发送请求。我想从这个 php 文件中接收结果。

这是我的代码:

<script type="text/javascript">
    jQuery(document).ready(function($){
        $('#devis_gratuit').submit(function(e){
            e.preventDefault();

            $.getJSON(
                'mail.php', {
                    prestation: $('.prestation-input').val(),
                    heures: $('.heures-input').val(),
                    nom: $('.nom-input').val(),
                    ville: $('.ville-input').val(),
                    prenom: $('.prenom-type').val(),
                    code_postal: $('.code_postal-input').val(),
                    tel: $('.tel-input').val(),
                    email: $('.email-status').val()},

                    function(data){
                        alert("A"); //Doesn't work
                        $('#status').hide();
                        $('#status').html('')
                            .append('<b>Paramètre en majuscule</b> : '+data.response+'<br/>');                   
                        $('#status').fadeIn();
                    }
                );
            });
        });
    </script>

和我的 php 代码mail.php

if(isset($_GET['prestation'])
    && isset($_GET['heures'])
    && isset($_GET['nom'])
    && isset($_GET['prenom'])
    && isset($_GET['ville'])
    && isset($_GET['code_postal'])
    && isset($_GET['tel'])
    && isset($_GET['email'])) 
{
    $response = "Ok";
    die($response); //Doesn't work
}
else {
    $response = "Ko";
    die($response); //Doesn't work
}

$return = array('response' => $response);
header('Content-type: application/json');

但看起来它没有进入 PHP 文件,我在萤火虫上看到请求已成功发送。请问有什么帮助吗?谢谢你。

4

3 回答 3

0

您没有从服务器获得 json 格式。

只是改变

$response = "Ok";
die($response);

$response[] = "Ok";
echo json_encode($response);
于 2013-09-02T06:00:31.510 回答
0

只需删除die并使用json_encode($return);并再次检查,因为您的响应应该是json格式的。

于 2013-09-02T05:55:26.437 回答
0

如果您die()在 PHP 中使用,您将向客户端返回 500 响应代码。因此,您永远不会在代码中输入匿名success函数。getJSON

换句话说,要获得以下代码片段中的警报,您需要返回一个成功的响应代码(2xx):

$.getJSON(
    'mail.php', 
    {...},
    function(data){
        alert("A");
        ...
    }
);
于 2013-09-02T05:43:51.110 回答