2012-03-20 97 views
0

我做了一個測試小提琴這裏:http://jsfiddle.net/BjLdQ/2jQuery和JSON沒有結果

我在哪裏可以輸入數字1每個HTML字段,然後我按下登錄按鈕和我得到的JSON回來爲:

{"code":"2"} 

所以在我看來,我應該可以做到與jQuery相同,所以我按(登錄JQuery的Ajax)文本並沒有發生,在jsfiddle或從我的本地機器?

任何幫助將不勝感激。

+0

在提交此問題之前,您是否真的JSLint了您的代碼?你的小提琴有錯誤。 – 2012-03-20 14:29:35

+0

另外,我在控制檯中得到這個錯誤:'XMLHttpRequest無法加載https://api.searchningbo.com/user/login。起源http://fiddle.jshell.net是不允許的訪問控制允許起源。 – 2012-03-20 14:31:32

回答

5

Same Origin Policy ...您無法從其他來源獲取頁面(MDN)。

請參閱Ways to circumvent the same-origin policy的變通。

+0

所以,如果我把我的JavaScript的域名https://api.searchningbo.com一切都會好嗎? 我是否需要將html,javascript和jquery文件全部放在同一個域中? – Bill 2012-03-20 14:54:42

+0

@Bill原點取決於(HTML)頁面的位置。把你的html文件放在'hhtps:// api.searchningbo.com /'(同樣的PROTOCOL,'https'和DOMAIN'api.searchningbo.com'),錯誤就會消失。 – 2012-03-20 16:28:45

1

代碼有錯誤。

$("#button").click(function() { 
    alert("Sending"); 

     $.ajax({ 
      type: "POST", 
      dataType: 'JSON', 
      data: "{'username':'1','password':'1','key':'1','device_Id':'1'}", 
      url: "https://api.searchningbo.com/user/login", 
      // This was here: }, 
      success: function(data) { 
       alert(data);   

      } 

     }); 
} // It wasnt closed properly