2012-06-19 130 views
0

這是怎麼了調用點擊:爲什麼「錯誤:」回調被調用

$("#myDivId").click(function(e) { 
callAjax(); 
window.location = 'localhost://myhomepage' 
}); 

在錯誤的錯誤回調我有這樣的:

function callAjax(){ 
$.ajax({ 
      url: "myurl",  
      type: 'POST', 
      dataType : "text", 
      data : ({ 
       json : myjson 
      }), 
      success : function(data) { 

      }, 
    error : function() { 
     console.log("readyState: "+xhr.readyState); 
     console.log("status: "+xhr.status); 
     console.log("responseText: "+xhr.responseText); 
    } 

     }); 
} 

控制檯輸出爲:

readyState : 0 
status : 0 
responseText : 

由於控制檯輸出沒有用,如果調用成功,爲什麼調用錯誤回調?

如果在調用callAjax之後刪除window.location調用,則不會調用錯誤回調。

+0

這不應該發生('success'和'error'處理程序是互斥的)。你可以將完整的調用發佈到'$ .ajax()'嗎? –

+0

@FrédéricHamidi多數民衆贊成在一個錯誤,成功不叫 –

回答

0

你的代碼有問題。

ReadyState 0表示:該對象已創建,但尚未初始化(尚未調用open方法)。 ☛source

因此,Ajax調用根本沒有發送。請從您的代碼中發佈更多詳細信息。什麼是網絡控制檯說的?

+0

我更新了我的問題,包括我剛剛發現的更多細節 –

+0

@ user470184您不允許調用「www.google.com」 - 這是一個跨域致電並出於安全原因禁止。它被稱爲同源政策(http://de.wikipedia.org/wiki/Same-Origin-Policy) – Christoph

+0

我已更新爲重定向到相同的域,但同一問題(問題更新) –

相關問題