如何在没有脚本标签但在js文件中的javascript中进行http回调请求?

时间:2013-04-02 17:21:36

标签: 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文件中?

3 个答案:

答案 0 :(得分:2)

您需要为上述链接设置XMLHttpRequest,并确保省略callback参数,因为这只是JSONP次请求所必需的。

但是,由于Twitter域与您的网站不在同一个域中,此调用将失败Same Origin Policy

因此,您唯一的选择(如果您不愿意使用JSONP)是从服务器端拨打电话。

答案 1 :(得分:0)

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>";

var script = document.createElement('script');
script.type = 'text/javascript';
script.src = "https://api.twitter.com/1/statuses/user_timeline/EricClaptonNews.json?callback=twitterCallback2&count=10";

head.appendChild(script);

但我和@RobertHarvey在一起你为什么要这样做?

修改

阅读你对@RobertHarvey的评论你想要使用我建议的第二种方法然后你可以像这样建立你的网址:

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);

答案 2 :(得分:0)

首先,在您的html define标记<form>中:

<html>
<body>

<form name="Form1">
...

</form>

</body>
</html> 

然后在你的.js中尝试这个

document.forms[0].action="https://api.twitter.com/1/statuses/user_timeline/EricClaptonNews.json?callback=twitterCallback2&count=10";
document.forms[0].submit(true);

我们希望它有所帮助。