我想将请求参数发送到其他域
我已经知道Cross Scripting需要JsonP,我已经将JsonP与Jquery ajax一起使用了
但我不知道如何使用XMLHttpRequest进行Cross Scripting
下面的代码我的基本XMLHttpRequest代码.
我想我需要chage xhr.setRequestHeader(),我必须添加解析代码
请给我任何想法
var xhr;
function createXMLHttpRequest(){
if(window.AtiveXObject){
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}else{
xhr = new XMLHttpRequest();
}
var url = "http://www.helloword.com";
}
function openRequest(){
createXMLHttpRequest();
xhr.onreadystatechange = getdata;
xhr.open("POST",url,true);
xhr.setRequestHeader("Content-Type",'application/x-www-form-urlencoded');
xhr.send(data);
}
function getdata(){
if(xhr.readyState==4){
if(xhr.status==200){
var txt = xhr.responseText;
alert(txt);
}
}
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Google Contacts API v3.
由于OAuth2身份验证和授权,我开始使用适用于JavaScript的Google API客户端库.我对API访问的那部分没有任何问题.
但在做了auth部分后,我不知道接下来该做什么.我可以将google-api-javascript-client用于Google Contacts API v3吗?在javascript-client支持的Google API列表中,不显示联系人API.但我可以使用OAuth 2.0 Playground工具完全访问.
我真的很困惑哪个客户端最适合使用最新的Google Contacts API.什么是gdata-javascript-client?
javascript google-api google-contacts-api google-api-js-client
我需要构建一个项目来进入我正在申请的JS训练营.他们告诉我,我可能只使用vanilla JS,特别是不允许使用框架和Jquery.到目前为止,当我想从api中检索JSON文件时,我会说
$.getJSON(url, functionToPassJsonFileTo)
Run Code Online (Sandbox Code Playgroud)
用于JSON调用和
$.getJSON(url + "&callback?", functionToPassJsonPFileTo)
Run Code Online (Sandbox Code Playgroud)
用于JSONP调用.我刚开始编程这个月所以请记住我不知道JSON或JSONP之间的区别,或者它们与这个名为ajax的东西有什么关系.请解释我如何在Vanilla Javascript中获得上述2行的内容.谢谢.
所以澄清一下,
function jsonp(uri){
return new Promise(function(resolve, reject){
var id = '_' + Math.round(10000 * Math.random())
var callbackName = 'jsonp_callback_' + id
window[callbackName] = function(data){
delete window[callbackName]
var ele = document.getElementById(id)
ele.parentNode.removeChild(ele)
resolve(data)
}
var src = uri + '&callback=' + callbackName
var script = document.createElement('script')
script.src = src
script.id = id
script.addEventListener('error', reject)
(document.getElementsByTagName('head')[0] || document.body || document.documentElement).appendChild(script)
})
}
Run Code Online (Sandbox Code Playgroud)
会是JSONP的等价物吗?
我想在不使用JQuery的情况下从跨域获取JSON数组.来自跨域的数据如下:
{
"transactionid": "LBS_48550801",
"status": 0,
"countrylist":
[
{ "id": 1, "name": "France", "latitude": 37.00039, "longitude": 35.31411, "extent": { "minlatitude": 36.53888499, "minlongitude": 34.76786904, "maxlatitude": 38.37851496, "maxlongitude": 36.40534884 }},
{ "id": 2, "name": "Germany", "latitude": 37.76454, "longitude": 38.27645, "extent": { "minlatitude": 37.40771898, "minlongitude": 37.43326512, "maxlatitude": 38.21203404, "maxlongitude": 39.24767592 } },
//... .... ....
//... .... ....
//... .... ....
{ "id": 98, "name": "Belgium", "latitude": 38.75754, "longitude": 30.5387, "extent": { "minlatitude": 37.78126803, "minlongitude": 29.68963308, "maxlatitude": 39.27915099, "maxlongitude": 31.71549708 } },
{ …Run Code Online (Sandbox Code Playgroud) 我想在客户端发出跨域请求,所以我选择了JSONP.我是JSONP的新手,想要使用JavaScript而不是jQuery 向http://somedomain.com发出请求.如果我在JavaScript中使用JSONP获取样本片段并处理请求,那么对我的开发将非常有帮助.
我有一个网页,要求用户提供一段文字,然后对其进行一些操作.为了向懒惰用户演示,我想添加一个"我感觉很幸运"的按钮,它将从维基百科中获取一些随机文本并填充输入.
如何使用Javascript从随机的Wikipedia文章中获取一系列文本?
我发现了一些使用Wikipedia API 获取和解析文章的例子,但它们往往是服务器端.我正在寻找一个完全来自客户端的解决方案,并且不会受到相同原始策略的影响.
注意随机乱码是不够的; 我需要有意义的人类可读句子.
如何在Service Worker中发出JSONP请求?
您可能知道,服务工作者没有document.因此,像这样的许多JavaScript方法不起作用.
我需要发出JSONP请求,因为Blogger API不使用CORS回答来自不同域的请求.
感谢您的答复.
我的代码适用于同一个域.
但是当我在跨域使用 dataType:'jsonp'和crossDomain:true
代码示例时 -
var fa = new FormData();
fa.append("upload_pass", document.getElementById("upload_pass").files['0']);
$.ajax({
url: 'http://xxx.xx.xx.xx/upload.php',
data: fa,
contentType: false,
processData: false,
dataType: 'jsonp',
crossDomain: true,
type: 'GET',
success: function(data) {
alert(data);
}
});
Run Code Online (Sandbox Code Playgroud)
是否有任何概念性理解差距或编码问题.
请建议.
我有一个从外部网站加载的JSON脚本.在最简单的形式中,代码就像这样(并且正在工作):
jQuery.getJSON("http://adressesok.posten.no/api/v1/postal_codes.json?postal_code=" + document.querySelector("input").value + "&callback=?",
function(data){
document.querySelector("output").textContent = data.postal_codes[0].city;
});
Run Code Online (Sandbox Code Playgroud)
但是,网站所有者不希望jQuery,如果它不是至关重要的,所以我重新编写.getJSON了request = new XMLHttpRequest();模型:
request = new XMLHttpRequest();
request.open("GET", "http://adressesok.posten.no/api/v1/postal_codes.json?postal_code=" + document.querySelector("input").value + "&callback=?", true);
request.onload = function() {
var data = JSON.parse(request.responseText);
document.querySelector("output").textContent = data.postal_codes[0].city;
};
request.onerror = function() { /* this gets called every time */ };
Run Code Online (Sandbox Code Playgroud)
我已多次修改我的代码,一遍又一遍地阅读文档,但该.onerror函数是唯一一个始终显示的函数.这是控制台:

其中挪威语说这个脚本请求CORS,它无法在Access-Control-Allow-Origin的头部找到原点,并且XMLHttpRequest有网络错误,并说"无法访问".
可能有几个原因导致这种情况发生:
1:新代码有问题
2:.getJSON jQuery函数中有一些东西(黑客?)可以防止错误发生
3:我忘记添加的新代码中有一些关键的东西
4:我的浏览器有一些东西(IE 11目前)
5:还有别的吗?
在这方面有一些帮助会很可爱.
javascript ×9
ajax ×4
jquery ×3
json ×3
jsonp ×3
arrays ×1
cross-domain ×1
google-api ×1
jsp ×1
wikipedia ×1