以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 HTML/XHTML/Ajax/Web 2.0/Web 3.0 』  (http://bbs.xml.org.cn/list.asp?boardid=22)
----  为什么会把.js文件的内容显示出来呢?  (http://bbs.xml.org.cn/dispbbs.asp?boardid=22&rootid=&id=58763)


--  作者:娜娜
--  发布时间:2/4/2008 2:46:00 PM

--  为什么会把.js文件的内容显示出来呢?
我写了一段这个,但是在执行查询的时候为什么会把search.js文件显示出来呢?到底是哪儿出错了?
<html>
<head>
<title>My Search</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
</head>

<body style="text-align: center;">
<p style="margin:0 auto;">&nbsp;</p>
<p style="margin:0 auto;">

<!-- Begin Yahoo! JAPAN Web Services Attribution Snippet -->
<a><img src="http://i.yimg.jp/images/yjdn/yjdn_attbtn2_105_17.gif" width="105" height="17" title="Webサービス by Yahoo! JAPAN" alt="Webサービス by Yahoo! JAPAN" border="0" style="margin:15px 15px 15px 15px"></a>
<!-- End Yahoo! JAPAN Web Services Attribution Snippet -->

</p>
<form method="post" action="search.js" name="form1">
  <div style="margin:0 auto;">
    <input type="text" name="word">
    <input type="submit" name="Submit" value="SEARCH">
    <input type="hidden" name="page" value="1">
  </div>
</form>

</body>
</html>
###############  search.js   ###################
/* yj_search_api.js
*
* Yahoo! JAPAN Search javascript Ver1.0(2005/11/30)
*
*/

function Yahoo_Search() {}

Yahoo_Search.baseURL = function () {
  return "http://api.search.yahoo.co.jp/WebSearchService/V1/";
}

Yahoo_Search.appid = function () {
  return "[insert your appid]";
}

Yahoo_Search.baseArgs = function () {
  return "appid=" + this.appid();
}

Yahoo_Search.Results = function (args) {
  var xmlUrl = this.baseURL() + "webSearch?"
         + this.baseArgs()
         + "&query=" + args["Doc"]
         + "&language=ja"
         + "&country=jp"
         + "&start=" + args["First"]
         + "&results=" + args["Count"];
  var xmlhttp = createXmlHttp();
  xmlhttp.open("GET", xmlUrl, false);
  xmlhttp.send(null);
  return this.readXML(xmlhttp.responseXML);
}

Yahoo_Search.readXML = function (xmlDoc) {
  try {
    var retVal = new Array();
    var resultSet = xmlDoc.getElementsByTagName("ResultSet")[0];                                                              
    var totalResultsAvailable = parseInt(resultSet.getAttribute("totalResultsAvailable"));  
    var totalResultsReturned = parseInt(resultSet.getAttribute("totalResultsReturned"));                                      
    var firstResultPosition = parseInt(resultSet.getAttribute("firstResultPosition"));                                        
    var start = firstResultPosition;                                                                                          
    var end = firstResultPosition + totalResultsReturned - 1;                                                                 
                                                                                                                              
    var results = xmlDoc.getElementsByTagName("Result");
    for (var i = 0; i < results.length; i++) {                                                                                
      var result = results[i];                                                                                                
      var title = result.getElementsByTagName('Title')[0].firstChild.nodeValue;
      var summary = '';
      if (result.getElementsByTagName('Summary')[0].firstChild) {
        summary = result.getElementsByTagName('Summary')[0].firstChild.nodeValue;
      }
      var clickUrl = result.getElementsByTagName('ClickUrl')[0].firstChild.nodeValue;
      var url = result.getElementsByTagName('Url')[0].firstChild.nodeValue;
      retVal[i] = { I: start + i, Title: title, Summary: summary, ClickUrl: clickUrl, Url: url };
    }

    return retVal;
  } catch(exception) {
    alert('Exception occurred while reading XML (i=' + i + '; start=' + start + ';end=' + end + '): ' + exception);
  }
}

function createXmlHttp() {
    xmlhttp = false;
    try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
MSXMLHTTP = true;
    } catch (e) {
try {
     xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
     MSXMLHTTP = true;
} catch (E) {
     xmlhttp = false;
}
    }
    if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
xmlhttp = new XMLHttpRequest();
    }
    return xmlhttp;
}


--  作者:娜娜
--  发布时间:2/7/2008 2:13:00 AM

--  
过年就是不一样啊,都没人来帮我解决问题了……
--  作者:enyaxp
--  发布时间:2/7/2008 10:49:00 PM

--  
终于有机会上网了,呵呵呵,看来娜娜过年也不能休息呢。


--  作者:enyaxp
--  发布时间:2/7/2008 11:04:00 PM

--  

看你前面发的帖子,好像对怎么用javascript还有些不清楚呀。

<form method="post" action="search.js" name="form1">

这句话是要向服务器提交一个POST指令,这里的action你添的是一个.js文件,返回的url指向这个文件,显示的当然就是这个文件里面的文本啦。

这个search.js需要你在写html的时候引入进来,或者写到<SCRIPT>标签里,使用的时候与某个元素或动作绑定。

以下是引用娜娜在2008-2-7 2:13:00的发言:
过年就是不一样啊,都没人来帮我解决问题了……


--  作者:娜娜
--  发布时间:2/7/2008 11:16:00 PM

--  
你干吗呢?你会ruby吗?我现在在看一本书,是rest的,里面的例题都是ruby写的,我看不懂,从网上也找不到好一点的ruby的入门书……
--  作者:enyaxp
--  发布时间:2/8/2008 12:35:00 AM

--  

在找有关Yahoo Search API javascript版的资料,我没用过也得现查呀。

ruby不会用,听说很好学的说...

以下是引用娜娜在2008-2-7 23:16:00的发言:
你干吗呢?你会ruby吗?我现在在看一本书,是rest的,里面的例题都是ruby写的,我看不懂,从网上也找不到好一点的ruby的入门书……


--  作者:娜娜
--  发布时间:2/8/2008 1:13:00 AM

--  
我昨天把 《掌握 Ajax,第 1 部分: Ajax 简介[转帖] 》收藏起来了,现在正在看呢,里面有不少我现在看的那个程序的解释,真不错!嘿嘿嘿……
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
61.523ms