2012-01-05 40 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像這樣

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

如果我通過直接導致.html()函數顯示正常。當我使用.split()時,resultType變量沒問題,但resultData變量似乎是空的。

+2

爲什麼你不是使用JSON嗎? – 2012-01-05 03:40:18

+2

它似乎在爲我工作:http://jsfiddle.net/BTha8/ – 2012-01-05 03:42:57

+0

你是什麼意思「似乎是空的」?如果你添加'alert(resultArray [1]);' – nnnnnn 2012-01-05 03:44:03

回答

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)); 
?>