2012-01-05 15 views
0

.split()関数を使用してajaxの結果を分離しようとしています。.split()を使用してajax結果を分割する

$(".submit-button").click(function(){ 
    $.post("something.php",{ some: 'data' }, function(result) { 
     var resultArray = result.split('#'); 
     var resultType = resultArray[0]; 
     var resultData = resultArray[1]; 
     if (resultType == 'success'){ 
      $(".someDiv").html(resultData); 
     } 
     if (resultType == 'something else'){ 
      //do something else 
     } 
    }); 
}); 

私はポストデータを受信して​​、いくつかのHTMLに

<?php 
    $someVariable = $_POST['data']; 
    //process the data in some way. If successful... 
    echo 'success#<div>some html</div>'; 
?> 

を出力し、いくつかのPHPを持っていると私は合格した場合はもちろんの私はそう

<div class="someDiv"></div> 

のようにページ上のdivを持っています.html()関数に直接結果が表示されます。 .split()を使用すると、resultType変数は正常ですが、resultData変数は空のようです。

+2

なぜあなたはJSONを使っていませんか? –

+2

それは私のために働いているようです:http://jsfiddle.net/BTha8/ –

+0

"空であると思われる"とはどういう意味ですか? 'alert(resultArray [1]);' – nnnnnn

答えて

1

まず$ _POST [ 'データ']は$ _POST [ '一部']である必要があり、あなたが実際に行うことができることを、JSONの方がはるかに簡単

$(".submit-button").click(function(){ 
    $.post("something.php",{ some: 'data' }, function(result) { 
     var resultArray = eval("("+result+")"); 
     var resultType = resultArray[0]; 
     var resultData = resultArray[1]; 
     if (resultType == 'success'){ 
      $(".someDiv").html(resultData); 
     } 
     if (resultType == 'something else'){ 
      //do something else 
     } 
    }); 
}); 

PHP

<?php 
    $someVariable = $_POST['some']; 
    //process the data in some way. If successful... 
    $result[0] = "success"; 
    $result[1] = "Some HTML Code"; 
    die(json_encode($result)); 
?> 
関連する問題