0

ajax GET メソッドを使用してデータを php ページに投稿できますが、POST METHOD にパラメーターを追加する際に問題があります。以下は私が使用するコードです。私はphpスクリプトからの応答を得ることができるので:

    if(XMLHttpRequestObject) {
   XMLHttpRequestObject.open("POST", url,true);XMLHttpRequestObject.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
 XMLHttpRequestObject.onreadystatechange = function()
 {
    document.getElementById('statuses').innerHTML = msg1;
   if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {
var content = XMLHttpRequestObject.responseText;
 $(document).ready(function(){
    $('#statuses').text(content);
    });
}
 }
XMLHttpRequestObject.send("id=" + id);
}

別のコードを使用してデータを送信することにしたと仮定すると、jquery を使用すると非常に簡単になります。php スクリプトから応答を取得するにはどうすればよいですか? 以下は 2 番目のコードです。

     $(document).ready(function(){ 
    // get values
     cc = $('#ft').attr('value');
     cop = $('#copt').attr('value');

     // send to processing PHP script
     $.ajax({
        type: "GET",
        cache: false,
        url: "processor.php",
        data: "cctotal="+ cc +"&coptotal="+ cop + "&id="+ id + "&get=" + 'update',
        success: function(){
            $('#processing').fadeIn(function(){
            var content = 'Customer Account Updated !' ;
            $('#statuses').text(content);
            });
        }
            });

     });
4

2 に答える 2

1

ajax のデフォルトの contentType は'application/x-www-form-urlencoded; charset=UTF-8'であり、cahce であるため、それを設定する必要はありませんXMLHttpRequestObject。作成しているプレーンな JS 呼び出しは、jQuery では次のようになります。

$(function() {
    $.post(url, , function(content) {
        $('#statuses').html(content);
    });
});

データを追加して POST リクエストを実行するには、次のようにします。

$(function(){ 
    cc = $('#ft').val();
    cop = $('#copt').val();

    $.ajax({
         type: 'POST',
         url: url,
         cache: false,
         data: {cctotal: cc, coptotal: cop, id: id, get: 'update'}
    }).done(function(content) {
         $('#processing').fadeIn(function(){
             $('#statuses').text('Customer Account Updated !');
         });
    });
});
​

そして、サーバー上の POST スーパーグローバルでそのデータにアクセスします。たとえば、PHP では次のようになります。

$cc  = $_POST['cctotal'];
$cop = $_POST['coptotal'];
$id  = $_POST['id'];
$get = $_POST['get'];
于 2012-08-26T07:55:27.963 に答える
0
//Try this

 $(document).ready(function(){ 
    // get values
     cc = $('#ft').attr('value');
     cop = $('#copt').attr('value');

     // send to processing PHP script
     $.ajax({
        type: "GET",
        cache: false,
        url: "processor.php",
        data: "cctotal="+ cc +"&coptotal="+ cop + "&id="+ id + "&get=" + 'update',
        success: function(data){
            $('#processing').fadeIn(function(){
            var content = 'Customer Account Updated !' ;
            $('#statuses').text(content);
            });
            alert(data) //server response here
        }
            });

     });
于 2012-08-26T07:04:50.407 に答える