4

現在、Webサイトを作成していますが、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

4 に答える 4

7

変数名とテキストには何が含まれていますか? するのではなく

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");    
}  
});  
于 2012-05-24T18:34:04.390 に答える
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");    
  }  
});  
于 2012-05-24T18:35:56.023 に答える
0

デフォルトのボタンクリック動作を妨げていないと思います。おそらくpreventDefault、ボタンのクリックで機能を使用して、デフォルトのフォーム投稿の処理を停止する必要があります。また、フォーム要素内に Idnametext

$(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!");
       }
    }); 

});
于 2012-05-24T18:35:23.560 に答える
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

于 2012-05-24T18:38:42.753 に答える