为什么这个jQuery ajax失败了?

时间:2010-07-22 13:20:20

标签: php jquery ajax

我正在尝试使用PHP和&amp ;;做一些非常基本的AJAX。 jQuery,但出于某种原因,当我在输入字段中输入文本并单击按钮时,我总是得到空数据。我做错了什么?

WebService.php:

<?php
    $return['ReturnString'] = $_POST['SearchString'];
    for ($i = 1; $i < 100; $i++)
    {
        $return['ReturnString'] = $return['ReturnString'] . $_POST['SearchString'];
    }
    return json_encode($return);
?>

HTML:

 <html>
    <head>
        <script type="text/javascript" src="http://www.google.com/jsapi"></script>
        <script type="text/javascript">
            google.load("jquery", "1");
        </script>
        <script type="text/javascript" src="Scripts/script.js"></script>
        </head>
    <body>
        <form>
            <div>
                <input type="text" id="txtJavaPHP" />
                <input type="button" id="btnJavaPHP" value="Go" />
                <br />
                <br />
                <span id="spanJavaPHP"></span>
            </div>
        </form>
    </body>
    </html>

的script.js:

$(document).ready(SetupButtonClicks);
function SetupButtonClicks() {$('#btnJavaPHP').click(DoPHP);}

    function DoPHP() {
    $.ajax({
        type: 'POST',
        contentType: 'application/json; charset=utf-8',
        url: 'WebService.php',
        dataType: 'json',
        data: {
            SearchString: $('#txtJavaPHP').val()
        },
        success: function (data) {
            if (data == null)
                $('#spanJavaPHP').text("Data is null");
            else
                $('#spanJavaPHP').text(data.ReturnString);
        },
        error: function (XMLHttpRequest, textStatus, errorThrown) {
            $('#spanJavaPHP').text('There was an error: ' + errorThrown);
        }
    });
    return false;
}

1 个答案:

答案 0 :(得分:7)

我认为问题出在这里,但我暂时没有使用AJAX,所以我无法完全通过AJAX代码:

echo $return['ReturnString'];
return json_encode($return);

你应该回应json_encode($return);

echo json_encode($return);

这应该有希望解决它。虽然我不知道你为什么要将这些数据循环100次......但是是的。