2013-01-06 46 views
0

嗨,大家好我有一个代码错误从使用Javascript返回数据

function getclientip() { 
$.getJSON("http://192.168.127.2/getipclient.php?callback=?", function(json) { 
eval(json.ip); 
});} 

这个功能是为游客的客户 获取IP addrees的结果我得到

({"ip":"192.168.15.149"}); 

我的问题是当我发送数据到其他功能

BtnClickGetIP: function(inSender, inEvent) { 
this.USER_ADD_CONTENT.setDisplayValue(getclientip()); 
}, 

on fire bug我得到︰

SyntaxError: missing ; before statement 
192.168.15.149 dojo_build.js (line 145, col 7) 
+0

JavaScript!= Java :) –

+1

哪一行是行145? – 2013-01-06 14:21:11

+0

'getclientip()'不返回任何东西。调用'setDisplayValue(getclientip());'没什么意义。为什么你在json.ip上调用'eval()'? –

回答

0
function getClientIP(callback) { 
    $.getJSON("http://192.168.127.2/getipclient.php?callback=?", function(json) { 
     callback(json.ip); 
    }); 
} 

BtnClickGetIP: function(inSender, inEvent) { 

    var that = this; 

    getClientIP(function(ip) { 
     that.USER_ADD_CONTENT.setDisplayValue(ip); 
    }) 
} 
+0

那么你所做的一些信息呢?否则不是很有用的答案。 – Christoph

+0

我测试这个新功能买我得到的错误:TypeError:回调是不是一个功能 [Break On This Error] \t eval(wm.load(“resources/dlogin/jquery-1.8.3.min.js” )); – Chacaman

0

AJAX是异步调用,你不能只返回$ .getJSON()。使用回调做你的事。 如果你真的想要这样的程序。使用$ .ajax函数并设置async = false