ajax如何接受文件

ajax如何接受文件,第1张

给你个例子,我使用Session,适当修改即可:

(一)AjaxForCheckUser.js脚本文件---存放在js目录下

//定义XMLHttp

var XmlHttp

// 定义XmlDom文档

var XmlDom = new ActiveXObject("Msxml2.DOMDocument")

//定义用户名UserName

var UserName

//定义页面地址

var PageName

//定义检测函数

var CheckUrl = "checkuser.aspx"

/**

创建XmlHttp对象

*/

function createXmlHttp()

{

var xml

try

{

xml = new ActiveXObject("Microsoft.XMLHTTP")

}

catch (e) {

try

{

xml = new ActiveXObject("Msxml2.XMLHTTP")

}

catch (e2) {

xml = false

}

}

if (!xml &&typeof XMLHttpRequest != 'undefined') {

xml = new XMLHttpRequest()

}

return xml

}

/**

// 处理XmlHttp返回信息

*/

function OnReadyStateChange()

{

if(XmlHttp.readyState==4)

{

//写的函数

dealResponse(XmlHttp.ResponseText,UserName)

XmlHttp = null

}

}

//用于处理表格内的函数,填写表格

function dealResponse(xml,UserName)

{

XmlDom.loadXML(xml)

arrayLoaded = new Array()

var Nodelist = XmlDom.selectNodes("ResponseContent/Content")

for(var ii=0ii<宏游Nodelist.lengthii++)

{

var arrayItem = Nodelist[ii].selectSingleNode("UserName").text

//如果直接使用Content内容则为

//var arrayItem = Nodelist[ii].text

arrayLoaded[ii] = arrayItem

}

UserName = arrayLoaded[0]

//window.alert(UserName.toString())

if(UserName=="")

{

if(confirm("请您登录后再打开此页面缓饥!\n\n登录主页,请点击确定。"))

{

window.open("Default.aspx","蔽哪销client","")//Default.aspx模拟登陆页面加Session

}

return

}

else

{

window.open(PageName,"client","")

return

}

}

//打开页面函数

function OpenPage(PageLocation)

{

PageName = PageLocation

XmlHttp = createXmlHttp()

XmlHttp.open("Get",CheckUrl,true)

XmlHttp.onreadystatechange = OnReadyStateChange

XmlHttp.send(null)

}

(二)HTMLPage.htm页面文件------页面

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >

<head>

<title>无标题页</title>

<script type="text/javascript" src="js/AjaxForCheckUser.js"></script>

</head>

<body>

<a onclick="OpenPage('HTMLPage2.htm')" target="_blank">2页面</a>

</body>

</html>

说明:HTMLPage2.htm随便一个页面,目的在新窗口打开;没有登录则要求登陆。

(三)checkuser.aspx文件----没有显示内容

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="checkuser.aspx.cs" Inherits="checkuser" %>

(四)checkuser.aspx.cs文件----xml格式返回

public partial class checkuser : System.Web.UI.Page

{

//<?xml version='1.0' encoding='gb2312' ?>

//<ResponseContent>

//<Content>

//<UserName></UserName>

//</Content>

//</ResponseContent>

string xmlhead = "<?xml version='1.0' encoding='gb2312' ?><ResponseContent><Content>"

string xmltail = "</Content></ResponseContent>"

string xml

string xmlbody

protected void Page_Load(object sender, EventArgs e)

{

if (Session["UserName"] == null)

{

xmlbody = "<UserName></UserName>"

}

else

{

xmlbody = "<UserName>" + Session["UserName"].ToString() + "</UserName>"

}

xml = xmlhead + xmlbody + xmltail

Response.Write(xml)

}

}

(五)Default.aspx模拟登陆

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">

<title>无标题页</title>

</head>

<body>

<form id="form1" runat="server">

<div>

<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="~/HTMLPage.htm">HyperLink</asp:HyperLink></div>

</form>

</body>

</html>

(六)Default.aspx后台

using System

using System.Data

using System.Configuration

using System.Web

using System.Web.Security

using System.Web.UI

using System.Web.UI.WebControls

using System.Web.UI.WebControls.WebParts

using System.Web.UI.HtmlControls

public partial class _Default : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

Session["UserName"] = "chenchen020110"

HyperLink1.Text = Session["UserName"].ToString()

}

}

首先将传递的扒枯参数值everyid打出来,看有没有值;然后在接收端打出$_REQUEST,或者$_POST信息;对比就能看出那块出问题了!既然请求状态码是200,那就宏伏证明没错,只是你的参数穿的有问题罢蔽此携了!

跟正常接收数兆伏据 是一样的 ,

$.ajax({

type: 'POST',

url: url

,

data: data

,

success: success

,

dataType: dataType

})

这里 ajax 使用租升 POST 类型提交,php 就用 $_POST 接收族型携。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/8239590.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存