0

这真的很奇怪。我正在尝试向服务器提交数据并让 PHP 脚本解析数据,然后发回响应。正在发送格式正确的 URL:

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

,但服务器似乎没有响应来自 PHP 脚本的内容,尽管返回码为 200。事实上,开发者工具(在 Google Chrome 中)并没有说明 PHP 文件的任何内容。AJAX“数据”语句的格式必须正确,否则我将无法获得正确的 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';
?>
4

2 回答 2

1

您的语法不正确:

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

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

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

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

于 2012-09-09T21:01:19.587 回答
0

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

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

于 2012-09-06T20:12:23.637 回答