如何从“”运行url;.js”;文件
How to run url from ".js" file?
环境:Visual Studio 2012、MVC4、Razor、Internet应用程序。我正在使用易趣API,我想显示搜索结果(JSON)。我有一个包含代码的查看页面。。。
<script>
function _cb_findItemsByKeywords(root)
{
var items = root.findItemsByKeywordsResponse[0].searchResult[0].item || [];
var html = [];
html.push('<table width="100%" border="0" cellspacing="0" cellpadding="3"><tbody>');
for (var i = 0; i < items.length; ++i)
{
var item = items[i];
var title = item.title;
var pic = item.galleryURL;
var viewitem = item.viewItemURL;
if (null != title && null != viewitem)
{
html.push('<tr><td>' + '<img src="' + pic + '" border="0">' + '</td>' +
'<td><a href="' + viewitem + '" target="_blank">' + title + '</a></td></tr>');
}
}
html.push('</tbody></table>');
document.getElementById("results").innerHTML = html.join("");
}
</script>
".js"文件中的这一行:
var url = "http://ebay.com?..."
当我打开这个视图页面时,我如何从".js"文件自动执行这个url?(此url将请求发送到易趣服务器并接收数据,这些数据将显示在此查看页面上。)
我会稍微改变一个问题。。。如果我在View页面上运行这段代码,一切都很好:
<script src=http://ebay.com?... </script>
我如何接收此部分("http://ebay.com?..."作为变量)?有可能吗?
如果您只想发送请求,您可以向DOM添加一个图像,例如src
。
如果你想从请求中接收数据,你必须进行AJAX调用。这在不同的浏览器中处理方式非常不同,所以这里有一个使用框架的好主意,比如jQuery。
然而,由于URL位于与您不同的域上,您将无法通过常规AJAX请求访问它。您必须参考所谓的JSONP请求。这要求您提取的文档以特定的方式进行格式化,以允许这样做。如果没有,JavaScript就不允许这种交互,因为同源策略。
JSONP要求远程文档具有以下格式:
someCallbackFunction(javaScriptObjectWithData);
如果是这样,您就可以将一个脚本文件包含到DOM中,该URL作为src
,文档的内容一旦被提取,就会立即在浏览器中执行。到那时,您应该已经指定了一个回调函数,其名称与文档中进行的回调相匹配(这通常是您可以通过原始请求中的查询字符串指定的)。
如果由于远程文档的格式原因,这些选项都不可用,那么您将不得不从服务器端请求文档。如果您自己无法访问服务器端环境,为了做到这一点,可以选择使用其他人的服务器。雅虎的自定义查询语言YQL可以用于查询远程文档的内容,并且YQL可以通过JSONP获得,因此您可以通过它们转发您的请求。
请参阅这篇关于将YQL与JSONP 一起使用的文章
更新,现在您添加了更多数据,易趣API可用于JSONP,我认为这就是您正在寻找的解决方案。
已解决。。。
<script src="/Scripts/ebay.js" type="text/javascript"></script>
<script>
s = document.createElement( 'script' );
s.src = url;
document.body.appendChild( s );
</script>
- JS文件的路径正在消失
- 我的外部js文件无法加载
- 在不破坏未定义函数的情况下,对多个视图使用单个js文件
- 动态加载和卸载js文件
- 如何将变量传递到另一个js文件
- 如何将所有JS文件连接到一个文件夹中
- 从Chrome扩展名中的popup.html文件在background.js文件中运行一个函数
- 如何使用php文件中的GET来获取我在.js文件中声明的变量
- 如何将模板中的标记脚本移动到.js文件中
- 什么's是连接供应商js文件的最佳方式
- 如何在定义js文件后为外部javascript文件设置变量
- 如何在JS文件中获取资源(.resx)字符串
- 将*.js文件的内容放入Object中
- 如何从onclick函数设置全局变量并将其传递给另一个JS文件
- 导致内容安全策略(CSP)冲突错误的本地jquery.js文件
- 如何使用Gmail运行.js文件
- 如何定义一个模块并使用它来分离js文件
- Angular JS文件上传到托管服务器
- 如何引用HTML中节点模块中的js文件
- 如何将JS文件从其他文件夹链接到页面