我有一个HTML页面,需要使用jQuery AJAX函数向受CAS保护的(中央身份验证服务)Web服务发出请求.我有以下代码:
$.ajax({
type: "GET",
url: request,
dataType: "json",
complete: function(xmlHttp) {
console.log(xmlHttp);
alert(xmlHttp.status);
},
success: handleRedirects
});
Run Code Online (Sandbox Code Playgroud)
该request
变量可以是CAS服务器(https://cas.mydomain.com/login?service=myServiceURL
)或直接到服务(然后应该重定向回CAS以获取服务票据).Firebug显示正在进行请求,并以302重定向的形式返回.但是,该$.ajax()
功能不处理重定向.
我写了这个函数来解决这个问题:
var handleRedirects = function(data, textStatus) {
console.log(data, textStatus);
if (data.redirect) {
console.log("Calling a redirect: " + data.redirect);
$.get(data.redirect, handleRedirects);
} else {
//function that handles the actual data processing
gotResponse(data);
}
};
Run Code Online (Sandbox Code Playgroud)
但是,即使这样,handleRedirects
函数永远不会被调用,并且xmlHttp.status
总是返回0
.它看起来也不像是通过cas.mydomain.com调用发送的.(有关类似问题,请参阅此问题.)
这是AJAX调用没有处理重定向的问题,还是这里有更多的问题而不是眼睛?
对于我的Google Docs电子表格模块,我想要一个能够接受值数组并迭代它们的函数,将它们添加到散列中.电子表格提交表单需要采用以下格式的值:
{"entry.0.single": value0,
"entry.1.single": value1,
"entry.2.single": value2}
Run Code Online (Sandbox Code Playgroud)
如果函数接受如下所示的数组,
[value0, value1, value2]
Run Code Online (Sandbox Code Playgroud)
是否有可能循环它们,保持运行计数器,并创建一个哈希?这在其他语言中是一项简单的任务.Python足以说明:
hash = dict()
i = 0
for val in values:
hash["entry.%s.single" % i] = val
i += 1
Run Code Online (Sandbox Code Playgroud)
可以用KRL完成吗?
我正与另一位开发人员合作开发大型Kynetx应用程序.为了更容易拆分工作,我希望有多个规则集,这样我们就可以单独处理它们而不会踩到彼此的脚趾.
有没有办法在另一个规则集中引发事件(显式或其他)?在后缀中有这样的事情:
raise explicit event next_section in a163x50
Run Code Online (Sandbox Code Playgroud)
我知道可以在浏览器中使用JavaScript,但我想从服务器端的KRL执行此操作.
我构建了一个扩展twitter.com的浏览器扩展.它打开一个jQuery UI模式窗口,并有一些文本输入.当我输入这些输入时,除J键和K键外,它都有效.这些键是一些自定义Twitter事件的一部分(在推文之间滚动).除了那两个,我可以获得所有键以实际键入框中的字母.
我想知道如何取消绑定keypress
这两个键的东西,以便我可以输入这两个字母.关于如何解开它们的任何想法?我已经尝试捕获事件并阻止它的默认...没有帮助.我抓住它并返回真/假,也没有帮助.请告诉我.
我上周在第二代iPod Touch上安装了iOS 4.2.我尝试通过Xcode在设备上运行我的应用程序,但它不起作用(因为Xcode还不支持iOS 4).为了解决这个问题,我安装了Xcode 3.2.5和iOS SDK 4.2.现在我可以让应用程序在iPhone/iPad模拟器中运行就好了.
但是,我无法再从屏幕顶部的菜单中选择"设备".这是一个选择,但当我尝试点击它时,它实际上从未得到一个复选标记.
因此,我无法在iPod上运行应用程序.另一个(相关的)问题是我不能再从Build菜单中选择"Build and Archive",因为目标不是设备.
为什么会这样?我是否需要更改项目中的某些设置,或者更改设备本身的某些设置?
编辑:经过仔细调查,似乎我不能选择除iPhone模拟器4.0之外的任何东西.也许项目文件有问题.
我在PhoneGap应用程序中有一些HTML代码,<select>
向用户显示一个框.当我点击它时,通常的Android选择屏幕不会弹出.我之前在webOS上遇到了类似的问题(虽然那时下拉工作正常).
的<select>
是内部的<div>
该被隐藏或执行过程中的某些时间图所示:
<div id="submit">
<ul class="rounded">
<li><select id="item"></select></li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
只有<div>
在隐藏然后再显示(直接通过CSS或使用jQuery hide()
和show()
方法)时才会出现问题.如果我将<select>
框移到外面<div>
,或者如果我<div>
总是可见,那么下拉行为就像它一样应该;没有问题.
为什么是这样?
我正在写PhoneGap的应用程序,我想在iOS,Android和webOS上运行.jQTouch适用于iOS和Android上的所有内容,但不适用于webOS.
由于webOS Mojo框架基于Prototype(使用$
变量),因此必须在noConflict模式下使用jQuery.我可以处理那么多.
但问题是我还想使用jQTouch插件.该jqtouch.js
文件$
始终使用,导致加载该文件时出现JavaScript错误.
有没有办法在我的PhoneGap应用程序中运行jQTouch插件(或任何插件)而不会干扰Prototype?