2017-04-21 69 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