js的一个小问题

h175h32 2011-08-02 06:25:26

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 里面有定义的。
应该怎么改????
...全文
278 24 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
h175h32 2011-08-12
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 theforever 的回复:]
尽量用createElement创建对象,或者innerHTML.少用write。

这个事情,主要是因为加载那个JS需要时间,在未加载完时你已经调用了,自然就成未定义了。

加延时,或用onload事件,都可以解决。但你如果还处在频繁用write的阶段,都不知道你明不明白。
[/Quote]
我觉得你说的有道理 ,createElement创建对象和document.write有什么区别呢?能否说一下
哈哈王戈多 2011-08-07
  • 打赏
  • 举报
回复
学习了
lvzi98 2011-08-07
  • 打赏
  • 举报
回复
直接引进那个外部js文件不行不。。

显然是那个returnCitySN 没起作用。。这个returnCitySN应该是一个全局的变量

  • 打赏
  • 举报
回复
尽量用createElement创建对象,或者innerHTML.少用write。

这个事情,主要是因为加载那个JS需要时间,在未加载完时你已经调用了,自然就成未定义了。

加延时,或用onload事件,都可以解决。但你如果还处在频繁用write的阶段,都不知道你明不明白。
lijiaof16 2011-08-06
  • 打赏
  • 举报
回复
document.write('<script type=text/javascript src="http://pv.sohu.com/cityjson" ></scrip'+'t>');
这句话有错误吧
langga跳跃 2011-08-06
  • 打赏
  • 举报
回复
没用过json- -
h175h32 2011-08-06
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 theforever 的回复:]

我发现我有一句话应该成为至理名言了:JS新手不要用document.write。这又是它的问题。
[/Quote]
不明白?
h175h32 2011-08-03
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 feng3773216 的回复:]
而且楼主用的是CitySN函数把,里面有应该有返回值吧,那么就这样调就好了:var parm=CitySN();
[/Quote]
returnCitySN是http://pv.sohu.com/cityjson这个json一个object 他有几个值
放纵青春 2011-08-03
  • 打赏
  • 举报
回复
可能是页面渲染的顺序的问题,不知道LZ考虑这个了没有!
休谱诺斯 2011-08-03
  • 打赏
  • 举报
回复
而且楼主用的是CitySN函数把,里面有应该有返回值吧,那么就这样调就好了:var parm=CitySN();
休谱诺斯 2011-08-03
  • 打赏
  • 举报
回复
楼主的拼串写的有问题吧,</scrip'+'t>';这个貌似</script>'这么写就行啊
h175h32 2011-08-03
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 joop_song 的回复:]
调用那个网站的api获得这个属性,然后再赋值给你的js变量。
[/Quote]
怎么把那个json的object值赋值给我的变量?
我用join() 不行.
h175h32 2011-08-03
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 javaboycaoji 的回复:]
引用楼主 h175h32 的回复:
Java code

document.write('<script type=text/javascript src="http://pv.sohu.com/cityjson" ></scrip'+'t>');
function getIP()
{
var City=returnCitySN;
var curr = new Date();
va……
[/Quote]

ajax怎么弄?我不是很了解
  • 打赏
  • 举报
回复
我发现我有一句话应该成为至理名言了:JS新手不要用document.write。这又是它的问题。
h175h32 2011-08-03
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 feng3773216 的回复:]

js里面接一个带有返回值的函数时不要在函数名前面加return。。。
[/Quote]
那个是一个object名。
休谱诺斯 2011-08-03
  • 打赏
  • 举报
回复
js里面接一个带有返回值的函数时不要在函数名前面加return。。。
休谱诺斯 2011-08-03
  • 打赏
  • 举报
回复
= =!先确定函数名,你的返回值无论是集合还是一个对象在js里面都是用var一个变量接,至于如何去取值,就看你是对象还是集合了,对象就直接"."里面的属性名就好了,集合就循环完了再"."。。。
雨天要吃饭 2011-08-03
  • 打赏
  • 举报
回复
json没用过
Joop_Song 2011-08-02
  • 打赏
  • 举报
回复
调用那个网站的api获得这个属性,然后再赋值给你的js变量。
24K純帥 2011-08-02
  • 打赏
  • 举报
回复
getIP在哪边调用的,要注意JS作用域
加载更多回复(3)

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧