【发布时间】:2015-06-13 09:44:09
【问题描述】:
我有一个可以正常工作的 curl 命令。这是对返回 WDDX 的冷融合服务器的查询:
curl --user 'adminUser:adminPass' 'http://blablabla/app.cfc?method=isSusbscribed&newsletterId=2222&language=en&email=anemal@mail.com'
结果是:
<wddxPacket version='1.0'><header/><data><boolean value='true'/></data></wddxPacket>
这意味着使用给定电子邮件的用户会收到 ID 为 2222 的时事通讯。
现在,我正在尝试在 js 脚本中使用 Ajax 编写相同的命令:
我已经尝试过这样做:
$.ajax({url:'http://blablabla/app.cfc?method=isSusbscribed&newsletterId=2222&language=en&email=anemal@mail.com'
,username:'adminUser'
,password:'adminPass'})
.done(function(res){
jRes=$(res).find('boolean[value]');
if(jRes.length == 1) inputElem.prop('checked', jRes.attr('value')=='true');
}).always(function(res,text){
console.log(res);
console.log(text);
})
;
但它不起作用。
我的目标是在用户注册时事通讯时将开关置于 ON 位置。
可能查询的语法不正确,我认为问题与身份验证有关。
有人可以帮助我吗? 谢谢
【问题讨论】:
-
为什么不在服务器上进行调用?将硬编码的用户名和密码公之于众似乎是个坏主意?
-
目前只是测试代码。用户凭据不会被硬编码。我只需要知道正确的语法。
-
也是跨域调用吗?因为如果他们不支持 CORS,这会导致其他问题。
-
“它不起作用”是什么意思?发生什么了?与预期有何不同?如果您将其返回为 JSON 而不是您显示的 WDDX,则它可能更容易使用返回的数据。您可以简单地将
&returnFormat=JSON添加到 AJAX 调用中的 URL。 -
console.log(res) 返回一个空对象,console.log(text) 返回“error”,开关没有按预期改变。
标签: javascript jquery ajax curl coldfusion