我目前正在创建一个网站,但我无法使用AJAX发布我的数据。我有一个按钮,单击时会处理以下代码...
var name = document.getElementById('name').innerHTML;
var text = document.getElementById('text').innerHTML;
$.ajax({
type: "POST",
url: "php/post.php",
data: { postName: name, postText: text},
success: function() {
$('#paragraph').html("worked");
}
});
这肯定会打开post.php页面,但它不会传递所需的数据。我做错了吗?
提前致谢
答案 0 :(得分:6)
变量名称和文字包含哪些内容?而不是做
var name = document.getElementById('name').innerHTML;
var text = document.getElementById('text').innerHTML;
你可以这样做:
var name = $("#name").val();
var text = $("#text").val();
您可能还需要传递数据类型对象:
$.ajax({
type: "POST",
url: "php/post.php",
data: { postName: name, postText: text},
dataType: "json",
success: function() {
$('#paragraph').html("worked");
}
});
答案 1 :(得分:4)
var name = $('#name').text();
var text = $('#text').text();
$.ajax({
type: "POST",
url: "php/post.php",
data: { postName: name, postText: text},
dataType: 'json',
success: function() {
$('#paragraph').html("worked");
}
});
答案 2 :(得分:0)
我猜你没有阻止默认的按钮点击行为。您可能应该使用按钮单击上的preventDefault
功能来停止处理默认表单发布。另外,请确保您的表单元素中包含ID为name
和text
$(function(){
$("#yourButtonId").click(function(e){
{
e.preventDefault();
var name = $('#name').html();
var text = $('#text').html();
if(name!="")
{
$.ajax({
type: "POST",
url: "php/post.php",
data: { postName: name, postText: text},
success: function() {
$('#paragraph').html("worked");
}
});
}
else
{
alert("Why should i do ajax when content is empty!");
}
});
});
答案 3 :(得分:0)
var name = document.getElementById('name').value,
text = document.getElementById('text').value,
postData = JSON.stringify({ postName: name, postText: text});
$.ajax({
type: "POST",
url: "php/post.php",
data: postData,
success: function() {
$('#paragraph').html("worked");
}
});
您需要添加对json2.js
的引用才能在旧版浏览器中使用。您可以在此处下载:https://github.com/douglascrockford/JSON-js