如何在javascript中执行http回调请求而不使用脚本标记,而是使用js文件?
我想把这个如何在javascript中执行http回调请求而不使用脚本标记,而是使用js文件?,javascript,http,twitter,request,Javascript,Http,Twitter,Request,我想把这个 <script type="text/javascript" src="https://api.twitter.com/1/statuses/user_timeline/EricClaptonNews.json?callback=twitterCallback2&count=10"></script> 当我把它放在我的html文件中的脚本标记中时, 在我的一个.js文件中?您需要对上面的链接进行一次修改,确保省略回调参数,因为只有JSONP请求
<script type="text/javascript" src="https://api.twitter.com/1/statuses/user_timeline/EricClaptonNews.json?callback=twitterCallback2&count=10"></script>
当我把它放在我的html文件中的脚本标记中时,
在我的一个.js文件中?您需要对上面的链接进行一次修改,确保省略回调
参数,因为只有JSONP
请求才需要该参数
但是,由于Twitter域与您的网站不在同一个域中,因此此调用将失败
因此,您剩下的唯一选择(如果您不愿意使用JSONP
)是从服务器端进行调用
var head = document.getElementsByTagName("head")[0];
head.innerHTML += "<script type="text/javascript" src="https://api.twitter.com/1/statuses/user_timeline/EricClaptonNews.json?callback=twitterCallback2&count=10"></script>";
但我是@RobertHarvey的,你为什么要这么做
编辑:
阅读您对@RobertHarvey的评论,您可能希望使用我建议的第二种方法,然后您可以像这样构建url:
function url_builder(foo){
var url = https://api.twitter.com/1/statuses/user_timeline/EricClaptonNews.json?callback=twitterCallback2&count="+foo; //dynamically call a number stored in foo
return url;
}
var url = url_builder(30); //want to get 30 tweets instead of 10!
var script = document.createElement("script");
script.type = 'text/javascript';
script.src = url;
head.appendChild(script);
首先,在html中定义标记
:
我们希望它能有所帮助。因为我需要动态编辑请求,这就是为什么我不能在索引文件中,而是在实际代码中进行编辑!返回的javascript对象已传递给
回调中定义的函数。你可以在那里编辑。我看不出有什么问题…仅供参考:Twitter API 1很快就会被弃用-您必须使用诸如file_get_contents()之类的函数从PHP进行调用代码>或。这将返回一个JSON字符串,你可以用它来解码,啊,对不起,有人能给我写一段代码吗?我不懂php,我只需要以某种方式执行请求。
function url_builder(foo){
var url = https://api.twitter.com/1/statuses/user_timeline/EricClaptonNews.json?callback=twitterCallback2&count="+foo; //dynamically call a number stored in foo
return url;
}
var url = url_builder(30); //want to get 30 tweets instead of 10!
var script = document.createElement("script");
script.type = 'text/javascript';
script.src = url;
head.appendChild(script);
<html>
<body>
<form name="Form1">
...
</form>
</body>
</html>
document.forms[0].action="https://api.twitter.com/1/statuses/user_timeline/EricClaptonNews.json?callback=twitterCallback2&count=10";
document.forms[0].submit(true);