Javascript 如何通过Ajax和PHP传递表单
我是新来的,我只是想让它与简单的代码一起工作,然后我会添加到它。但它不起作用,因为我没有回声。我只想提交一个表单,不刷新页面 这是我的表格Javascript 如何通过Ajax和PHP传递表单,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,我是新来的,我只是想让它与简单的代码一起工作,然后我会添加到它。但它不起作用,因为我没有回声。我只想提交一个表单,不刷新页面 这是我的表格 <form > <input type="text" id="name" > <input type="submit" value="s" onclick="return chl()" > </form> 这是我的js <script> function chl(){ var na
<form >
<input type="text" id="name" >
<input type="submit" value="s" onclick="return chl()" >
</form>
这是我的js
<script>
function chl(){
var name= document.getElementByID('name').value;
var dataString='name' + name;
$.ajax({
type:"post",
url:"hi.php",
data:dataString,
cache:false,
success: function(html){
alert ("success");
}
});
return false;
}
</script>
函数chl(){
var name=document.getElementByID('name')。值;
var dataString='name'+name;
$.ajax({
类型:“post”,
网址:“hi.php”,
数据:dataString,
cache:false,
成功:函数(html){
警惕(“成功”);
}
});
返回false;
}
这是我的php
<?php
$name=$_POST ['name'];
echo "response".$name;
?>
数据字符串的形式应类似于查询字符串;您错过了键和值之间的
=
:
var dataString = 'name=' + name;
也就是说,您可以改进代码。首先,您应该将事件附加到表单的submit
,并使用event.preventDefault()
停止正常表单提交。此外,还可以使用serialize()
生成一个对象,该对象包含要在AJAX请求中传递的表单值。PHP代码的响应将在发送到success
处理程序的参数中重新调整,因此您需要在那里对其进行处理。最后,您应该在JS中附加事件,而不是HTML属性,以便更好地分离关注点。试试这个:
<form method="hi.php">
<input type="text" id="name" />
<input type="submit" value="s" />
</form>
$name=$\u POST['name'];
echo“response:name=”.$name;
数据字符串的形式应类似于查询字符串;您错过了键和值之间的=
:
var dataString = 'name=' + name;
也就是说,您可以改进代码。首先,您应该将事件附加到表单的submit
,并使用event.preventDefault()
停止正常表单提交。此外,还可以使用serialize()
生成一个对象,该对象包含要在AJAX请求中传递的表单值。PHP代码的响应将在发送到success
处理程序的参数中重新调整,因此您需要在那里对其进行处理。最后,您应该在JS中附加事件,而不是HTML属性,以便更好地分离关注点。试试这个:
<form method="hi.php">
<input type="text" id="name" />
<input type="submit" value="s" />
</form>
$name=$\u POST['name'];
echo“response:name=”.$name;
您也可以尝试使用-
var dataString = $('form').serialize();
这样,如果您有许多输入字段,就可以避免生成数据字符串。您还可以尝试使用-
var dataString = $('form').serialize();
这样,如果您有许多输入字段,就可以避免生成
数据字符串。像下面所示更改ajax函数并发送数据,并且您的php和js函数必须位于不同的页面中
function chl(){
var name= document.getElementByID('name').value;
$.ajax({
type:"post",
url:"hi.php",
data:{name:name},
success: function(html){
alert ("success");
}
});
return false;
}
如下图所示更改ajax函数并发送数据,您的php和js函数必须位于不同的页面中
function chl(){
var name= document.getElementByID('name').value;
$.ajax({
type:"post",
url:"hi.php",
data:{name:name},
success: function(html){
alert ("success");
}
});
return false;
}
文件
jQuery(文档).ready(函数($){
$('click')。在('click',函数(事件){
event.preventDefault();
/*对事件采取行动*/
var name=$('#name').val();
$.ajax({
url:'hi.php',
键入:“POST”,
数据:{name:name}
})
.完成(功能(数据){
警报(数据);//您可以对该数据发出警报
console.log(data);//或者在控制台Ctrl+shift+I上查看此数据
})
.fail(函数(){
控制台日志(“错误”);
})
.always(函数(){
控制台日志(“完成”);
});
});
});
文件
jQuery(文档).ready(函数($){
$('click')。在('click',函数(事件){
event.preventDefault();
/*对事件采取行动*/
var name=$('#name').val();
$.ajax({
url:'hi.php',
键入:“POST”,
数据:{name:name}
})
.完成(功能(数据){
警报(数据);//您可以对该数据发出警报
console.log(data);//或者在控制台Ctrl+shift+I上查看此数据
})
.fail(函数(){
控制台日志(“错误”);
})
.always(函数(){
控制台日志(“完成”);
});
});
});
函数chl()
{
var namelement=document.getElementById(“myName”);
//创建formData对象并将其发送到PHP脚本
var formData=new formData();
//名称等于输入元素名称属性值
append(namelement.name,namelement.value);
var xmlHttp=new XMLHttpRequest();
xmlHttp.onreadystatechange=函数()
{
if(xmlHttp.readyState==4&&xmlHttp.status==200)
{
警报(xmlHttp.responseText);
}
}
open(“POST”、“server.php”);
xmlHttp.send(formData);
}
函数chl()
{
var namelement=document.getElementById(“myName”);
//创建formData对象并将其发送到PHP脚本
var formData=new formData();
//名称等于输入元素名称属性值
append(namelement.name,namelement.value);
var xmlHttp=new XMLHttpRequest();
xmlHttp.onreadystatechange=函数()
{
if(xmlHttp.readyState==4&&xmlHttp.status==200)
{
警报(xmlHttp.responseText);
}
}
open(“POST”、“server.php”);
xmlHttp.send(formData);
}
表格
剧本
<script>
$("#test").submit(function(e){
e.preventDefault();
var name= document.getElementByID('name').value;
$.ajax({
type:"post",
url:"hi.php",
data:{"name":name},
cache:false,
success: function(html){
alert (html);
}
});
return false;
}
</script>
$(“#测试”)。提交(功能(e){
e、 预防默认值();
var name=document.getElementByID('name')。值;
$.ajax({
类型:“post”,
网址:“hi.php”,
数据:{“name”:name},
cache:false,
成功:函数(html){
警报(html);
}
});
返回false;
}
表格
剧本
<script>
$("#test").submit(function(e){
e.preventDefault();
var name= document.getElementByID('name').value;
$.ajax({
type:"post",
url:"hi.php",
data:{"name":name},
cache:false,
success: function(html){
alert (html);
}
});
return false;
}
</script>
$(“#测试”)。提交(功能(e){
e、 预防默认值();
var name=document.getElementByID('name')。值;
$.ajax({
类型:“post”,
网址:“hi.php”,
数据:{“name”:name},
隐藏物: