php
<?php
include 'connection.php';
echo "reached page";
$stmt = $conn->prepare("INSERT INTO flagged ( ID,URL,COUNT,comment)VALUES ( :id, :url, :count,:COMMENT )");
$stmt->bindParam(':id', $id);
$stmt->bindParam(':url', $url);
$stmt->bindParam(':count', $count);
$stmt->bindParam(':COMMENT', $comment);
$id = NULL;
$url = $_POST['url']);
$count = 1;
$comment = $_POST['data']);
$stmt->execute();
?>
jquery的
$(document).ready(function() {
$('#flagForm').submit(function(){
return false;
});
$('#flag').click(function(){
$('#comment').show();
});
$('body').on('click', '#commentSubmit', function(e) {
$.post('flag.php',
{
data:$('#comment').val(),
url:(window.location)
},
function(response){
alert(response);
});
});
});
HTML
<div id='comment'><h1 ></h1>
<form id="flagForm" action="flag.php" method="post">
<textarea id='commentData' placeholder='whats the problem' ></textarea>
<input type="submit" id='commentSubmit' />
</form>
</div>
我似乎无法让我的帖子到达我的php页面。我之前从未遇到过这个问题。对象是用户标记页面。我有另一个post方法和php页面使用相同的连接,所以不能这样。任何帮助,将不胜感激。 jquery和html还有更多内容,但这与问题有关。
答案 0 :(得分:2)
#comment
是div,您必须使用数据在输入/ textarea上调用.val()
data:$('#commentData').val(),
我发现您在此处收到了非法调用错误url:(window.location)
而是使用window.location.href
。
window.location
是jQuery无法序列化的对象,因此您会收到该错误。
答案 1 :(得分:1)
你的PHP代码有点乱。而不是:
include 'connection.php';
echo "reached page";
$stmt = $conn->prepare("INSERT INTO flagged ( ID,URL,COUNT,comment)VALUES ( :id, :url, :count,:COMMENT )");
$stmt->bindParam(':id', $id);
$stmt->bindParam(':url', $url);
$stmt->bindParam(':count', $count);
$stmt->bindParam(':COMMENT', $comment);
$id = NULL;
$url = $_POST['url']);
$count = 1;
$comment = $_POST['data']);
$stmt->execute();
你应该这样做:
include 'connection.php';
echo "reached page";
$id = NULL;
$url = $_POST['url']);
$count = 1;
$comment = $_POST['data']);
$stmt = $conn->prepare("INSERT INTO flagged ( ID,URL,COUNT,comment)VALUES ( :id, :url, :count,:COMMENT )");
$stmt->bindParam(':id', $id);
$stmt->bindParam(':url', $url);
$stmt->bindParam(':count', $count);
$stmt->bindParam(':COMMENT', $comment);
$stmt->execute();
当然,你也不应该直接将用户输入插入到数据库中,但我认为这不是一个真正的应用程序......