2010-06-12 87 views
0

我使用CakePHP的1.26和CDN的JQuery在此URL太多的數據: http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.jsJQuery的AJAX回來,我沒有要求

在HTML網頁,我有幾行代碼:

$.ajax({ 
     type: "POST", 
     url: "http://mywebsite.com/controllers/avail/"+curl, 
     success: function(data) {   
     alert(data);} 

});

和PHP頁面中,我得到了另一個代碼的幾行:

function avail($uname){ 
       $result1=$this->Site1->User->findByusername($uname); 
       if($result1){ 
       return 1; 
          } 
       else{ 
       return 0; 
        } 
     } 

正如你看到的,擔保條件函數將返回0或1。 但有從服務器返回的一些冗餘數據,
我在警告框中看到的是財產以後這樣的(而不是0或1):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
    <html xmlns="http://www.w3.org/1999/xhtml">  
    <head>  
    <title>my site</title>  
    <meta http-equiv="content-type" content="text/html; charset=utf-8"> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>  
    <style type="text/css">  
    /* CSS Document */ 
    /*PAGE LAYOUT*/ 
0 


不,這不是失蹤的控制器,造成了這個問題。

回答

3

或者在你的控制器中,你可以設置​​,你不應該得到任何其他輸出。

0

這是告訴你發生了什麼問題吧?

<title>Missing Method in Controller</title> 

所以我的猜測是,Site1User不存在。

0

CakePHP的返回錯誤頁面說你invocating不存在的方法...

我建議嘗試的URL沒有jQuery的,它在地址欄寫並使其工作...

1

RequestHandler添加到控制器的$components陣列中。有了這一點,Cake會在有Ajax請求時自動使用Ajax佈局。

0
ajaxFunction(){ 

$this->layout = 'ajax'; 
     Configure::write('debug', 0); 
     if (!$this->RequestHandler->isAjax()) { 
      $this->cakeError('error', array(
       array(
        'code' => '404', 
        'name' => __('Page Not Found', true), 
        'message' => 'The Request URL does not exist on this server', 
        'title' => __('404', true), 
        'base' => $this->base, 
        'url' => $this->here 
       ) 
      )); 
      exit(); 
     } 
      $response=array(); 

//得到這個陣列中的數據烏爾

$response['result'] = Configure::read('Ajax.success'); 
    $this->set('response',$response); 
    $this->renderXhrView(); 

}