将命令 curl 转换为 javascript
Posted
技术标签:
【中文标题】将命令 curl 转换为 javascript【英文标题】:Convert command curl to javascript 【发布时间】:2014-12-04 03:43:02 【问题描述】:我正在尝试将 curl 中的命令转换为 javascript。我在谷歌搜索过,但没有找到可以帮助我的解决方案或解释。命令 curl 是这样的:
curl https://www.google.com/accounts/ClientLogin
--data-urlencode Email=mail@example.com
--data-urlencode Passwd=*******
-d accountType=GOOGLE
-d source=Google-cURL-Example
-d service=lh2
有了这个,我想将命令转换为 $.ajax() 函数。我的问题是我不知道我必须在函数 setHeader 中为命令 curl 中存在的选项添加什么。
$.ajax(
url: "https://www.google.com/accounts/ClientLogin",
type: "GET",
success: function(data) alert('hello!' + data); ,
error: function(html) alert(html); ,
beforeSend: setHeader
);
function setHeader(xhr)
//
【问题讨论】:
【参考方案1】:默认$.ajax()
会将数据转换为查询字符串,如果还不是字符串,由于这里的数据是一个对象,把数据改成字符串然后设置processData: false
,这样就不会转换为查询字符串。
$.ajax(
url: "https://www.google.com/accounts/ClientLogin",
beforeSend: function(xhr)
xhr.setRequestHeader("Authorization", "Basic " + btoa("username:password"));
,
type: 'POST',
dataType: 'json',
contentType: 'application/json',
processData: false,
data: '"foo":"bar"',
success: function (data)
alert(JSON.stringify(data));
,
error: function()
alert("Cannot get data");
);
【讨论】:
以上是关于将命令 curl 转换为 javascript的主要内容,如果未能解决你的问题,请参考以下文章