jquery ajax 访问跨域的asp页面返回登录成功或者失败 (post/get?)
我是用ajax jsonp方式跨域访问。如果是GET提交这里 永远提示 “登录成功”。如果 POST提交,第一次访问是“登录成功”,再次访问会提示“您已经登录了”(不过要用POST,会提示“该页面正在访问其控制范围之外的信息。。。”)。
这个是什么原因,请大侠赐教。。跪谢
asp 页面如下 (1.asp)
<%@ language="VBScript" %>
<%
Response.Expires = -1
Response.CacheControl = "no-cache"
Response.codepage=65001
jsonString=vbNullString
Josnp = Request.QueryString("callbackparam")
jsonString=Josnp+"({""Result"":""0"",""Msg"":""非法登陆""})" '初始化变量为 为false
if session("UserSerial")<>vbNullString then '已经登录 无需再次登录 true
jsonString = Josnp+"({""Result"":""1"",""Msg"":""您已经登录了""})"
Response.Write jsonString
Response.End
end if
UserName=Request.QueryString("UserName") '获取用户名
set conn=Server.CreateObject("ADODB.Connection")
conn.Open Application("strDBConnectionString")
tString=vbNullString
tString=tString & "select top 1 * from UserInfo where LoginName='" & replace(UserName,"'","''") & "'"
set rs=server.CreateObject("ADODB.RecordSet")
rs.Open tString,conn,1,1
if rs.EOF then
Response.End
else
session("UserId")=rs("UserId")
end if
rs.Close
set rs=nothing
conn.Close
set conn=nothing
if session("UserSerial")<>vbNullString then '登录成功 true
jsonString = Josnp+"({""Result"":""1"",""Msg"":""登录成功""})"
Response.Write jsonString
Response.End
end if
%>
jquery 方法
function LoginJump() {
try {
$.ajax({
type: "post", url: "http://www.baidu.com/1.asp&callbackparam=?",
dataType: "jsonp",
success: function (data) {
if (data.Result = 1) {
alert(data.Msg); //如果是GET提交这里 永远提示 “登录成功”。如果 POST提交,第一次访问是“登录成功”,再次访问会提示“您已经登录了”(不过要用POST,会提示“该页面正在访问其控制范围之外的信息。。。”)
location.href = "http://www.baidu.com/2.asp"
} else {
alert("错误");
}
//alert(data.Result);
}, error: function () { }
});
} catch (e) {
alert(e.message);
}
}
jquery ajax get post --------------------编程问答-------------------- 坐等大侠 --------------------编程问答-------------------- get + jsonp 支持跨域,
但是 post提交,根本就不支持跨域。
提示“该页面正在访问其控制范围之外的信息。。。”
这个就是证明!
--------------------编程问答-------------------- 更正:
ajax 里面的post提交,不支持跨域。
<form > 表单 的post提交,是支持跨域的。 --------------------编程问答-------------------- 新问题又出现,在火狐和谷歌浏览器下get正常,只有在IE下 不正常 。郁闷 --------------------编程问答--------------------
在IE下面 把这个设置调整到最低 就可以访问了,什么原因?总不能把所有用户的IE都调整吧
--------------------编程问答-------------------- 别沉啊 --------------------编程问答-------------------- --------------------编程问答-------------------- set conn=Server.CreateObject("ADODB.Connection")
你觉得有哪个用户会这样傻呢?我可以告诉你,这种程序可以轻易地访问你的电脑上任何密码文件,可以随便注入病毒。 --------------------编程问答--------------------
你认为FireFox和Chrome不经你的胡乱配置,就允许一个网页随便调用你客户端的任意COM组件?
火狐和谷歌没有这样的。
补充:.NET技术 , ASP.NET