$.ajax(将“POST”POST方法键入php

$.ajax(将“POST”POST方法键入php,php,javascript,jquery,ajax,post,Php,Javascript,Jquery,Ajax,Post,我正在尝试使用jQuery中的POST方法发出数据请求。下面是html页面中的代码: <form> Title : <input type="text" size="40" name="title"/> <input type="button" onclick="headingSearch(this.form)" value="Submit"/><br /><br /> </form> <script type="te

我正在尝试使用jQuery中的POST方法发出数据请求。下面是html页面中的代码:

<form>
Title : <input type="text" size="40" name="title"/>
<input type="button" onclick="headingSearch(this.form)" value="Submit"/><br /><br />
</form>
<script type="text/javascript">
function headingSearch(f)
{
    var title=f.title.value;
    $.ajax({
      type: "POST",
      url: "edit.php",
      data: {title:title} ,
      success: function(data) {
        $('.center').html(data); 
      }
    });
}
</script>

标题:


功能标题搜索(f) { var title=f.title.value; $.ajax({ 类型:“POST”, url:“edit.php”, 数据:{title:title}, 成功:功能(数据){ $('.center').html(数据); } }); }
这是服务器上的php代码:

<?php

$title = $_POST['title'];
if($title != "")
{
    echo $title;
}

?>


根本没有发出POST请求,我也不知道为什么。这些文件位于wamp www文件夹的同一文件夹中,因此至少url没有错误。

您需要使用
数据:{title:title}
才能正确发布


在PHP代码中,您需要
回显
值,而不是
返回
值。

检查标题是否有任何值。如果没有,则使用Id重新获取值

<form>
Title : <input type="text" id="title" size="40" name="title" value = ''/>
<input type="button" onclick="headingSearch(this.form)" value="Submit"/><br /><br />
</form>
<script type="text/javascript">
function headingSearch(f)
{
    var title=jQuery('#title').val();
    $.ajax({
      type: "POST",
      url: "edit.php",
      data: {title:title} ,
      success: function(data) {
    $('.center').html(data); 
}
});
}
</script>

标题:


功能标题搜索(f) { var title=jQuery('#title').val(); $.ajax({ 类型:“POST”, url:“edit.php”, 数据:{title:title}, 成功:功能(数据){ $('.center').html(数据); } }); }
试试这个代码


在php代码中,使用echo而不是return。只有这样,javascript数据才会有其价值。

Id建议您使用更简单的方法-

$.post('edit.php', {title: $('input[name="title"]').val() }, function(resp){
    alert(resp);
});
试试这个,我只是觉得它的语法比$.ajax的简单…

试试这个

$(document).on("submit", "#form-data", function(e){
    e.preventDefault()
    $.ajax({
        url: "edit.php",
        method: "POST",
        data: new FormData(this),
        contentType: false,
        processData: false,
        success: function(data){
            $('.center').html(data); 
        }
    })
})

表单中的按钮需要是
type=“submit”

返回$title;
将不会在PHP中打印任何内容,您需要
echo$title;
。前端ajax调用的错误是什么?使用Firebug或类似工具查看是否对同一目录中的所有文件发出了任何请求?在此之前是否加载了jquery?如果您的js工作正常,并且安装了PHP服务器,通过ThiefMaster的更改,将数据正确返回到页面。是的,使用FF和Firebug查看POST状态和结果。感谢我在旧版本中发布的代码,但不幸的是它没有帮助。我在ThiefMaster repliedI尝试写入堆栈溢出之前,就立即将其更改为echo。我尝试了d您的代码,但仍然没有更改,谢谢。那么它做什么,不发出警报?还是根本不发出警报?您是否使用Firebug(在Mozilla中)或Chrome检查您是否没有任何语法错误?(F12检查右下角是否没有红十字-单击它会显示脚本错误)虽然此命令可以回答该问题,但提供有关此代码为什么和/或如何回答该问题的其他上下文可以提高其长期价值。
contentType: 'application/x-www-form-urlencoded'
function signIn()
{
    var Username = document.getElementById("Username").value;
    var Password = document.getElementById("Password").value;

    $.ajax({
        type: 'POST',
        url: "auth_loginCode.jsp",
        data: {Username: Username, Password: Password},
        success: function (data) {
            alert(data.trim());
            window.location.reload();
        }
    });
}