2017-04-21 67 views
0

我有一個PHP文件saven在不同的域,我使用這段代碼發送用戶名,並獲得用戶的信息。如何發送和檢索信息/

我試圖做這樣的事情,但這是行不通的是有辦法做到這一點。

var dataString = "username="+username+""; 
    var url = ""; 

    $.ajax({ 
     type: "POST", 
     url: url, 
     data: dataString, 
     crossDomain: true, 
     cache: false, 
     success: $.getJSON(url, function(result) 
     { 
      console.log(result); 
      $.each(result, function(i, field) 
      { 
       var id  = field.id; 
       var username = field.username; 
       var email = field.email; 

       $('#profile-info').append("ID: " + id + "<br>Username: " + username + "<br>Email: " + email + "<br><br>"); 
      }); 
     }) 
    }); 
+1

您正在使用'$ .getJSON(''內$阿賈克斯('在一個不可能的一點,爲什麼呢? – JustOnUnderMillions

+0

使用成功代替,並確保您的另一端跨域請求是,雖然它不是推薦。另外.getJSON不適用於post請求,它用於獲取 – adam

+0

@JustOnUnderMillions因爲我不知道該怎麼做:/ – Pedro

回答

2

更換$.getJSON()功能必須由jQuery的AJAX功能提供的success calback,並且可以通過數據參數作爲{ username : username }直接傳遞用戶名,因爲它已經定義。

然後,當您成功接收數據時,您可以使用jQuery $.each函數遍歷每個結果。

您是否真的需要將cache參數設置爲false?,只是要知道。

此外,如果您想要使用let而不是var,那些變量將只在$.each「塊」內。

<script> 
    var url = ''; 

    $.ajax({ 
    type: "POST", 
    url: url, 
    data: { username: username }, 
    crossDomain: true, 
    cache: false, 
    success: function(result) { 
     console.log(result); 
     $.each(result, function(i, field) { 
     let id = field.id, 
      username = field.username, 
      email = field.email; 

     $('#profile-info').append("ID: " + id + "<br>Username: " + username + "<br>Email: " + email + "<br><br>"); 
     }); 
    } 
    }); 
</script> 
+0

塞巴斯蒂安林試圖使用您的示例,即時通訊出現錯誤「無法使用'in'運算符在「 – Pedro

+0

」中搜索「長度」您能看到'r esult'數據打印在您的「成功」回調中? –

+0

是的,'響應'是成功的,並看到具有正確值的數組 – Pedro