PHP SCript不接受AJAX数据

时间:2012-09-06 03:30:29

标签: php ajax

这真是奇怪。我正在尝试将数据提交到服务器并使用PHP脚本解析数据,然后发回响应。正在形成正确形成的URL:

http://localhost/ajax/test.html?row=rec_no_1

,但服务器似乎没有响应PHP脚本中的内容,尽管返回代码为200.事实上,开发人员工具(在谷歌浏览器中)没有提及任何有关PHP文件的内容。 AJAX“data”语句必须格式正确,否则我将无法获得正确的URL。 POST(而不是GET)没有帮助。

如果我将AJAX数据更改为字符串,那么它可以正常工作。这意味着AJAX数据存在问题。但我无法理解URL是否正确形成,并根据我选择的行而改变。

有什么想法吗?

这是Javascript:

$(document).ready(function() { 
$(".submit").click(function() {

$.ajax({
        type: 'GET',
        url: 'getTable.php',
        dataType: 'html',
        data: {row: $('input[type='checkbox']:checked').val()},
        //data: {row: 'rec_no_2'},
        success: function($result) {
    $('.tableHolder').text($result);
    }
    });
    return false;
});
});

这是PHP代码:

<?php
if (isset($_GET['row'])) {
    $tableRow = $_GET['row'];
    echo $tableRow;
}
else
        echo 'TEST';
?>

2 个答案:

答案 0 :(得分:1)

您的语法不正确:

$('input[type='checkbox']:checked').val()

您应该在checkbox周围使用双引号:

$('input[type="checkbox"]:checked').val()

无论如何在ajax调用之前执行console.log( $('input[type="checkbox"]:checked').val() )只是为了找出正在发送的值。

答案 1 :(得分:0)

尝试将您的javascript文件移至服务器。 Ajax不适用于跨域。您正在localhost上运行javascript文件并尝试从实时服务器获取信息。将php和javascript文件保存在同一台服务器上,无论是live还是localhost。它会工作正常。

还有一件事,请尝试更改ajax请求的url参数。尝试完整的网址或尝试在你的文件名之前放一个斜杠/。