Javascript php post显示空消息,没有输出
我试图发送一组变量,并使用PDO将其插入到数据库中,但是当我运行页面时,我得到一个空消息框,页面上什么也没有发生 这就是我获取用户输入的方式Javascript php post显示空消息,没有输出,javascript,php,pdo,Javascript,Php,Pdo,我试图发送一组变量,并使用PDO将其插入到数据库中,但是当我运行页面时,我得到一个空消息框,页面上什么也没有发生 这就是我获取用户输入的方式 <div class="caption1" contentEditable ="plaintext-only" id="edit1a"> <P> COMPANY ON AMAZON WANTS YOU TO TEST </BR> AND REVIEW IT’S PRODUCT!</P>
<div class="caption1" contentEditable ="plaintext-only" id="edit1a">
<P> COMPANY ON AMAZON WANTS YOU TO TEST </BR> AND REVIEW IT’S PRODUCT!</P>
亚马逊上的公司希望您测试并审查其产品
index.html
<button id="save">Click to Save</button>
<script type="text/javascript">
$(document).ready(function(argument) {
$('#save').click(function(){
// Get edit field value
$edit1a = $('#edit1a').html();
$edit2a = $('#edit2a').html();
$edit3a = $('#edit3a').html();
$edit4a = $('#edit4a').html();
$edit5a = $('#edit5a').html();
$edit6a = $('#edit6a').html();
$edit7a = $('#edit7a').html();
$edit8a = $('#edit8a').html();
$edit9a = $('#edit9a').html();
$edit10a = $('#edit10a').html();
$edit11a = $('#edit11a').html();
$.ajax({
url: 'get.php',
type: 'post',
data: {edit1: $edit1a, edit2: $edit2a, edit3: $edit3a, edit4: $edit4a, edit5: $edit5a, edit6: $edit6a, edit7: $edit7a, edit8: $edit8a, edit9: $edit9a, edit10: $edit10a, edit11: $edit11a,},
datatype: 'html',
success: function(rsp){
alert(rsp);
}
});
});
});
</script>
点击保存
$(文档).ready(函数(参数){
$(“#保存”)。单击(函数(){
//获取编辑字段值
$edit1a=$('#edit1a').html();
$edit2a=$('#edit2a').html();
$edit3a=$('#edit3a').html();
$edit4a=$('#edit4a').html();
$edit5a=$('#edit5a').html();
$edit6a=$('#edit6a').html();
$edit7a=$('#edit7a').html();
$edit8a=$('#edit8a').html();
$edit9a=$('#edit9a').html();
$edit10a=$('#edit10a').html();
$edit11a=$('#edit11a').html();
$.ajax({
url:'get.php',
键入:“post”,
数据:{edit1:$edit1a,edit2:$edit2a,edit3:$edit3a,edit4:$edit4a,edit5:$edit5a,edit6:$edit6a,edit7:$edit7a,edit8:$edit8a,edit9:$edit9a,edit10:$edit10a,edit11:$edit11a,},
数据类型:“html”,
成功:功能(rsp){
警报(rsp);
}
});
});
});
get.php
<?php
//configuration
$host = "localhost";
$name = "lpages";
$user = "root";
$pass = "****";
//connection
$odb = new PDO("mysql:host=".$host.";dbname=".$name,$user,$pass);
//new data
if(isset($_POST['edit1a'])){
$edit1 = $_POST['edit1a'];
$edit2 = $_POST['edit2a'];
$edit3 = $_POST['edit3a'];
$edit4 = $_POST['edit4a'];
$edit5 = $_POST['edit5a'];
$edit6 = $_POST['edit6a'];
$edit7 = $_POST['edit7a'];
$edit8 = $_POST['edit8a'];
$edit9 = $_POST['edit9a'];
$edit10 = $_POST['edit10a'];
$edit11 = $_POST['edit11a'];
$q = "INSERT INTO webpages1(edit1, edit2, edit3, edit4, edit5, edit6, edit7, edit8, edit9, edit10, edit11)
values (:edit1, :edit2, :edit3, :edit4, :edit5, :edit6, :edit7, :edit8, :edit9, :edit10, :edit11);";
$query = $odb->prepare($q);
$results = $query->execute(array(
":edit1"=>$edit1,
":edit2"=>$edit2,
":edit3"=>$edit3,
":edit4"=>$edit4,
":edit5"=>$edit5,
":edit6"=>$edit6,
":edit7"=>$edit7,
":edit8"=>$edit8,
":edit9"=>$edit9,
":edit10"=>$edit10,
":edit11"=>$edit11
));
}
?>
我对使用PDO相当陌生,所以可能我在格式化方面遇到了问题。首先,您没有在PHP中回显任何内容。尝试添加:
echo "success";
在PHP文件的末尾。然后在JS中,您可以检查:
if (rsp == "success") {
alert("Success inserting into database!");
}
我想你的发帖键不匹配 你正在发送 {edit1:$edit1a,edit2:$edit2a 但在PHP中,您可以检索: $edit1=$_POST['edit1a'] 它应该是
edit1
,edit2
等等
但最重要的是要知道如何调试:
$odb = new PDO("mysql:host=".$host.";dbname=".$name,$user,$pass);
$odb->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
否则您将不知所措。您还可以使用$result
值添加更多逻辑
例如:
if(!$results){
var_dump($query->error());
exit();
}
对于未定义的值,PHP可以告诉您是否打开了错误报告:
error_reporting(E_ALL);
ini_set('display_errors', '1');
当然,不要忘记将响应发送回ajax回调以确定是否成功。这个函数应该只是将数据插入数据库中。索引页面上的“保存”按钮甚至不会重定向页面,只是使用ajax$query->execute发送数据执行查询不是这样吗?你是对的Rossco,我错过了,oops.我会编辑。@amazingacademy如果您希望在警报中显示一些内容,您需要从phpNoted发送响应,现在我正在使用google中的调试器。一旦我开始使用PDO方法,就什么也没有发生。我想这与您传递数据的方式有关
数据:{edit1:$edit1a,
.etc似乎不正确,似乎无法访问docs atm来帮助您,尽管您的php没有输出任何类型的响应。您的js可能也有错误(如果这些字段是表单元素,您可以在表单元素上使用.val()
而不是.html()
,或者更好的是.serialize()
)最后,如果你为表单显示了一些html标记,你会得到一个更好的答案。可能是变量,我用这个方法传递了一个变量,但我也只使用了基本的msql php。另外,值不是以表单形式提交的,我用ajax将变量发送到get.php。我补充道我如何获取用户输入的一行。这是一个contentEditable字段,存储到一个ID。{edit1:$edit1a,edit2:$edit2a,…。宾果!我更改了一些其他内容,但不知道我为什么错过了这个。谢谢