Ajax post方法不起作用

时间:2012-05-24 18:31:51

标签: javascript jquery html ajax post

我目前正在创建一个网站,但我无法使用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页面,但它不会传递所需的数据。我做错了吗?

提前致谢

4 个答案:

答案 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为nametext

的内容
$(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