日期:2014-05-17  浏览次数:20427 次

!!跪求,为什么我的ajax请求ashx没有执行呢

<input type='button' id='btn_tijiao'/>


-----------ajax代码如下:------------

$(function () {
  $("#btn_tijiao").click(function () {
  alert("提交");
  $.ajax({
  type:"GET",
  url: "ashx/chuli.ashx?title='" + $("#mywite").val() + "'",
  dataType: "text",

  data: { title: ($("#mywite").val())
  },
  success: function (html) {
  alert(html);
  }
  })
  })
})

------------ashx页面代码如下:-------------
<%@ WebHandler Language="C#" Class="chuli" %>
using System;
using System.Web;
using DotNet.FrameWork.Data;

public class chuli : IHttpHandler {
   
  public void ProcessRequest (HttpContext context) {
  context.Response.ContentType = "text/plain";
  string title = context.Request.Params["title"].ToString();
   
  try
  {
  DbHelperOleDb.ExecuteSql("INSERT INTO Post (ColumnID)values('110')");
  }
  catch (Exception ex)
  {

  context.Response.Write(ex.ToString());
  }
   
   
  }
}
---------------------------------
alert("html")和Oledb语句没执行,什么原因呢?请各位大侠指点



------解决方案--------------------
Oledb语句没执行?代码没有进去吗?

检查url: "ashx/chuli.ashx?title='" + $("#mywite").val() + "'",
是否正确?
------解决方案--------------------
1:chuli.ashx 中打断点能进不?

2:INSERT INTO Post (ColumnID)空格values('110')

3:url: "ashx/chuli.ashx?1=1", // title='" + $("#mywite").val() + "'", 去掉,保留一个
dataType: "text",

data: { title: ($("#mywite").val())


4:context.Request.Params["title"].ToString(); //是不是为空,为空导致ToString()报错
------解决方案--------------------
url: "ashx/chuli.ashx?title=" + encodeURIComponent($("#mywite").val()) + "&nocache=" + (new Date()).valueOf()

要进行编码,要禁止缓存,确定id="mywite"存在
------解决方案--------------------
url: "ashx/chuli.ashx?title='" + $("#mywite").val() + "'",


错了、


url: "ashx/chuli.ashx?title=" + $("#mywite").val() + "",

传值不能用“字符串形式”
------解决方案--------------------
对,id="mywite存在,如何要编码的话存入数据库的是乱码,

这不是说明你的ashx执行了吗?

那就去掉encodeURIComponent或者采用escape
不进行编码,有些内容会丢的