0

代码:(index.php):

<head>

<?php
if(isset($_GET['text1']))
{
some_function();
}
?>
</head>

<body>
<form id="form">
<input type="text" id="text1" name="text1"/>
<input type="text" id="text2" name="text2"/>
<input type="submit" id="submit" value="submit"/>
</form>

<script>
$(document).ready(function(){

    $("#submit").click(function(){
            var dataString=$("form#form").serialize();
            var proccessPage="<?php echo $_SERVER['PHP_SELF'] ?>";

            alert(dataString);
            $.ajax({
                type: "POST", 
                url: proccessPage,
                data: dataString,
                });
    return false;
    });


});
</script>
</body>

有谁知道为什么some_function();没有触发呼叫?我不知道问题出在 ajax 还是 php 或哪里。我花了两天时间尝试使用$.post,或者$.ajax,搜索代码等中可能出现的错误,但我找不到任何问题。

你知道吗?感谢所有的答案。

4

2 回答 2

6

因为你要找的GET不是POST。将您的 PHP 更改为以下内容:

<?php
if(isset($_POST['text1']))
{
some_function();
}
?>

GET并且POST是不同类型的 HTTP 请求,您需要确保您的 PHP 代码正在寻找正确的请求。在这个问题上对它们之间的区别进行了相当全面的描述: POST和GET之间的区别是什么?

于 2012-10-30T12:27:56.260 回答
1

这无论如何都行不通!

原因是您正在制作一个异步的 AJAX POSTBACK。

为了得到你需要的东西,你必须尝试这种方式:

<form id="form" action="" method="post">

并删除脚本部分。它会起作用的!

~夏基尔·沙比尔

于 2012-10-30T13:21:15.727 回答