document.write('<script type=text/javascript src="http://pv.sohu.com/cityjson" ></scrip'+'t>'); 
function getIP() 
{
var City=returnCitySN;
var curr = new Date();     
var time = curr.toLocaleTimeString();   
var t=time.substring(3,5);     
var y=parseInt(t)  ;  
if (y%2)
{
 if (City["cname"].indexOf("邯郸")>-1)
{ alert(11111);}
else
{alert(0000);}
}}
getIP();为什么会提示 returnCitySN 未定义呢?
returnCitySN这个是在 http://pv.sohu.com/cityjson 里面有定义的。
应该怎么改????

解决方案 »

  1.   


    用ajax模式获得json书籍而后进行处理。
      

  2.   

    getIP在哪边调用的,要注意JS作用域
      

  3.   

    调用那个网站的api获得这个属性,然后再赋值给你的js变量。
      

  4.   


    ajax怎么弄?我不是很了解
      

  5.   

    怎么把那个json的object值赋值给我的变量? 
    我用join() 不行.
      

  6.   

    楼主的拼串写的有问题吧,</scrip'+'t>';这个貌似</script>'这么写就行啊
      

  7.   

    而且楼主用的是CitySN函数把,里面有应该有返回值吧,那么就这样调就好了:var parm=CitySN();
      

  8.   

    returnCitySN是http://pv.sohu.com/cityjson这个json一个object 他有几个值
      

  9.   

    = =!先确定函数名,你的返回值无论是集合还是一个对象在js里面都是用var一个变量接,至于如何去取值,就看你是对象还是集合了,对象就直接"."里面的属性名就好了,集合就循环完了再"."
      

  10.   

    js里面接一个带有返回值的函数时不要在函数名前面加return
      

  11.   

    我发现我有一句话应该成为至理名言了:JS新手不要用document.write。这又是它的问题。
      

  12.   

    document.write('<script type=text/javascript src="http://pv.sohu.com/cityjson" ></scrip'+'t>');
     这句话有错误吧
      

  13.   

    尽量用createElement创建对象,或者innerHTML.少用write。这个事情,主要是因为加载那个JS需要时间,在未加载完时你已经调用了,自然就成未定义了。加延时,或用onload事件,都可以解决。但你如果还处在频繁用write的阶段,都不知道你明不明白。
      

  14.   

    直接引进那个外部js文件不行不。。显然是那个returnCitySN 没起作用。。这个returnCitySN应该是一个全局的变量
      

  15.   

    我觉得你说的有道理 ,createElement创建对象和document.write有什么区别呢?能否说一下