$.ajax( type: "POST" POST 方法到 php
Posted
技术标签:
【中文标题】$.ajax( type: "POST" POST 方法到 php【英文标题】:$.ajax( type: "POST" POST method to php 【发布时间】:2012-06-11 18:41:24 【问题描述】:我正在尝试使用 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>
这是服务器上的 php 代码:
<?php
$title = $_POST['title'];
if($title != "")
echo $title;
?>
根本没有发出 POST 请求,我不知道为什么。这些文件位于 wamp www 文件夹中的同一文件夹中,因此至少 url 没有错误。
【问题讨论】:
return $title;
不会在 PHP 中打印任何内容,您需要 echo $title;
。
前端ajax调用的错误是什么?
使用 Firebug 或类似的工具来观察是否有任何请求被发出
文件在同一个目录吗?
在那之前你真的加载过 jquery 吗?如果你的 js 工作正常,并且服务器上安装了 php,通过 ThiefMaster 的更改,它会正确地将数据返回到页面。是的,使用 FF 和 Firebug 来查看 POST 状态和结果。
【参考方案1】:
您需要使用data: title: title
才能正确发布。
在 PHP 代码中,您需要 echo
值而不是 return
ing 它。
【讨论】:
【参考方案2】:检查title是否有任何值。如果不是,则使用 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>
试试这个代码。
在 php 代码中,使用 echo 而不是 return。只有这样,javascript 数据才会有价值。
【讨论】:
感谢我在旧代码的位置发布的代码,但不幸的是它没有帮助。 我在ThiefMaster回复后立即改成echo【参考方案3】:试试这个
$(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"
【讨论】:
【参考方案4】:我建议您使用更简单的方法 -
$.post('edit.php', title: $('input[name="title"]').val() , function(resp)
alert(resp);
);
试试这个,我只是觉得它的语法比 $.ajax 的简单...
【讨论】:
我什至在写入堆栈溢出之前就尝试过了。我试过你的代码,但仍然没有改变,谢谢。 那么它有什么作用,什么都不提醒?还是根本不提醒? 您是使用 Firebug(在 Mozilla 中)还是 Chrome 来检查您是否有任何语法错误? (F12 检查右下角是否没有红十字 - 点击它会显示脚本错误)【参考方案5】: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();
);
【讨论】:
【参考方案6】:contentType: 'application/x-www-form-urlencoded'
【讨论】:
虽然此命令可能会回答问题,但提供有关此代码为何和/或如何回答问题的额外上下文可提高其长期价值。 How to Answer以上是关于$.ajax( type: "POST" POST 方法到 php的主要内容,如果未能解决你的问题,请参考以下文章
PHP content-type为"application/json"的post过来的数据$_POST接受不到的问题
PHP content-type为"application/json"的post过来的数据$_POST接受不到的问题