2013-12-20 58 views
0

我正在运行DNN7.1网站。我有一个常规网站。我添加了一个页面,充当移动用户的登录页面。我在移动页面上使用JQuery Mobile 1.3.2,包括此移动登录页面。如果用户导航到该网页,输入用户名和密码,它工作正常,并使用查询字符串,例如它们重定向到的URL发送正确的页面:重定向不适用于JQuery Mobile

http://localhost/Mobilelogin?url=http://localhost/somePage 

它正确地重定向到

http://localhost/somePage 

现在我想添加功能,用户可以直接发送他的用户名和密码以及他想要导航的url,登录页面应该使用提供的用户名和密码进行认证,并且一旦成功将其重定向到url(使用asp.net Response.Redirect方法),格式为

http://localhost/Mobilelogin?u=username&p=password&url=http://localhost/somePage 

问题是,它工作正常,如果用户没有登录,但如果他已经登录,然后使用相同的URL(其中有用户名和密码)重定向不起作用。我尝试使用下面的代码禁用ajax,因为我阅读重定向和JQM不能正常工作。

$(document).on("mobileinit", function() { 
$.extend($.mobile, { 
linkBindingEnabled: false, 
ajaxEnabled: false 
}); 
}); 

但它仍然无法正常工作。任何人都可以让我知道我需要做些什么来完成这项工作。

我试着调试用c#编写的登录模块,当用户在没有登录的时候输入url时,它调用页面加载并且打中断点,但是当登录并输入url时,断点是从来没有打。它看起来像浏览器甚至没有联系服务器。我是JQM的新手,我想全局禁用ajax总是会通过服务器来获取信息。这不是它的工作原理吗?我如何使重定向工作在我的情况。任何帮助是极大的赞赏。

+0

您在** unencrypted **连接上有一个登录页面?这已经够糟糕了,但是你希望人们在URL中传递用户名和密码?你也可以把你的网站交给黑客。 请继续查看一些基本的安全措施。 – mason

+0

虽然这并不能真正解决问题,但msm8bball是正确的 - 您只是无法在URL中传递用户名和密码,并且您的登录页面在处理安全信息时应由SSL保护。 – sh1rts

+0

我知道在url中传递用户名和密码并不安全,但我们正在测试一些演示,并且测试服务器没有应用SSL证书。这不会用于制作。 –

回答

1

您需要注意的是,默认情况下,jQuery Mobile使用AJAX加载页面内容,并不像平常那​​样“重定向”。

你应该阅读常见问题,因为这些提供有用的信息: -

http://view.jquerymobile.com/1.3.2/dist/demos/faq/

具体做法是: -

..它只会注入响应的主体元素的内容(或 更具体地说是data-role =“page”元素,如果提供的话), 这意味着页面头部没有任何内容会被使用

http://view.jquerymobile.com/1.3.2/dist/demos/faq/scripts-and-styles-not-loading.html

这也许可以解释为什么你的脚本不能执行,因为如果它在它没有被加载的<head>

+0

感谢您的常见问题链接,它帮助我找出了一些其他问题。重定向问题是由于我的代码中有错误,当用户已被授权时,该代码在进入MobileLogin页面之前正在进行重定向。 –

+0

不客气。 jQuery Mobile站点上有很多很好的第三方资源,值得一看。 – sh1rts