2016-07-07 46 views
2

我有一個AJAX請求,什麼都不做,我不知道爲什麼。 它不給我任何error.my代碼:parseInt值沒有錯誤

$("#idButton").click(function(){ 
    $.ajax({ 
      type: "GET", 
      url: "https://api.fixer.io/latest?base=EUR", 
      data: {}, 
      success: function(data) { 
        $("#idUsd").val(parseInt(data['rates']['USD']) * 
        parseInt($("#idEur").val())); //I think the error is here 
      }, 

      error: function(x, e) { console.log(e); } 
    }); 
}); 

誰能幫助我?

編輯:

screenshot

回答

0

你的AJAX請求是click處理器中。我相信你已經定義了click處理程序,然後再將#idButton添加到HTML中。當處理程序被定義時,您需要確保該元素已經存在,可能將其放入$(function() {})或使用.on(),這將在未來的元素創建中註冊該處理程序。

案例1:

你有你的腦袋裏一個script標籤和定義#idButtonbody。在這種情況下,這代碼應解決的問題:

$(function() { 
    $("#idButton").click(function(e) {/*Your handler*/}); 
}); 

情況2:創建並在運行時添加

#idButton。在這種情況下,

$('body).on('click', '#idButton', function(e) {/*Your handler*/}); 

應該解決問題。理想情況下,當您定義處理程序並且包含該按鈕時,將body切換到樹中已存在的最低節點選擇器。

+0

好,我試圖刪除按鈕,它給了我南 –

+0

所以這個問題必須在功能(數據) –

+0

@IrinaFarcau,你說:「我有一個AJAX請求,做什麼和我不不知道爲什麼。「如果問題出現在成功函數中,這是AJAX請求的回調函數,那麼聲明是錯誤的,因爲請求已發送到響應的服務器。 –

0

出於安全原因,AJAX不支持跨域調用。

建立一個代理,所以你可以在你的域名上調用一個url。 在PHP中,你可以創建一個文件proxy.php:

<?php 
    readfile('https://api.fixer.io/latest?base=EUR'); 
    exit; 

然後使用這個新網址:,你需要檢查data

url: "proxy.php", 

希望幫助

1

在成功與$("#idEur").val()undefinednull,那麼你開始你的實施。

$("#idButton").click(function(){ 
    $.ajax({ 
      type: "GET", 
      url: "https://api.fixer.io/latest?base=EUR", 
      data: {}, 
      success: function(data) { 
       if((data != undefined) && (data != null) && 
         (data['rates'] != undefined) && (data['rates'] != null) && 
        (data['rates']['USD'] != undefined) && (data['rates']['USD'] != null) && 
        (data['rates']['USD'] != "") && ($("#idEur").val() != undefined) && 
        ($("#idEur").val() != null) && ($("#idEur").val() != "")) { 

        $("#idUsd").val(parseInt(data['rates']['USD']) * 
        parseInt($("#idEur").val())); //I think the error is here 
       } 
      }, 

      error: function(x, e) { console.log(e); } 
    }); 
}); 
+0

它不起作用,它什麼都不做。 –

+0

@IrinaFarcau - 使用Inspect Elements檢查ajax調用是否正在返回**數據**和** 200響應代碼**。 –

+0

Yess,但如何解決它? 200響應代碼也首先返回。 –