什么是AJAX? AJAX的全程是Asynchronous JAVAScript and XML(异步的javaScript和xml); ajax不是新的编程语言,而是一种使用标准的新方法。ajax是与服务器交换数据并更新部分网页的艺术; ajax的优点:

  • 页面无刷新,用户的体验好;
  • 使用异步方式与服务器通信,具有更加迅速的响应能力; 可以把服务器负担的工作转嫁到客户端,利用来处理,减少服务器和宽带的负担,节约控件和宽带租用的成本;
  • 基于标准化的并被广泛支持的技术,不需要下载插件或者小程序;
  • ajax可使因特网应用程序更小,更快,更友好; ajax的缺点:
  • ajax不支持浏览器back按钮
  • 安全问题ajax暴露了与服务区交互的细节
  • 对搜索疫情的支持比较弱
  • 破坏了程序的异常机制;
  • 不容易调试;

ajax跨域调用接口出现的问题: 第一个:ajax的跨域问题我使用的jsonp格式实现跨域; 出现的问题:格式jsonp的形式,返回数据的形式是在一个callback函数中返回的数据;所以需要有: 前段代码: dataType: "jsonp", jsonp:"callback", jsonpCallback:"successCallback", 后端代码: ` 需要传入的参数 HttpServletRequest req,HttpServletResponse rps JSONObject json = new JSONObject(); json.put("baseJson", baseJson); try { // 这里的successCallback就是前段代码的jsonCallback对应的值; rps.getWriter().print("successCallback("+json.toJSONString()+")"); } catch (IOException e) { e.printStackTrace(); }

`

今天遇到ajax传递日期参数的问题: * 发现ajax在传递日期参数的时候,javascript已经默认的额toString()方法转为字符转格式了; 经过查阅资料发现: ajax发送的请求参数和接收服务器端返回的数据都是文本数据,ajax不支持二进制数据传输,所以会调用toStirng()方法把参数转为字符串。 ajax的post和get的数据都是以文本方式传输,无论是客户端提交的数据还是服务器端返回的数据; ajax传递日期类型的参数,传递的是日期类型的字符串,在后端代码中需要操作,将字符串转为日期类型;

 `接下来问题又出现了`:
 当我按住日期参数查询数据库的时候,报错:
	 invalid comparison: java.util.Date and java.lang.String
  感谢: https://www.cnblogs.com/dflmg/p/6641168.html
具体的原因是因为:我在mybatis.xml文件做查询的时候,日期类型不能判断是否为null
报错的代码:

<select id="getIntegralCoefficientStockList" resultType="IntegralCoefficientStock" parameterType="IntegralCoefficientStock">
		SELECT
		coefficient_stock_id,
		coefficient_stock,
		create_time,
		create_by,
		stock_code
		FROM integral_coefficient_stock
		<where>
			<if test="createTime!=null and createTime!='' ">
			AND create_time = #{createTime}
			</if>
			<if test="stockCode!=null and stockCode!='' ">
			AND stock_code like "%"#{stockCode}"%"
			</if>
		</where>
	</select>
	
	而正确的代码应该是这样的:
	
	<select id="getIntegralCoefficientStockList" resultType="IntegralCoefficientStock" parameterType="IntegralCoefficientStock">
		SELECT
		coefficient_stock_id,
		coefficient_stock,
		create_time,
		create_by,
		stock_code
		FROM integral_coefficient_stock
		<where>
			<if test="1">
			AND create_time = #{createTime}
			</if>
			<if test="stockCode!=null and stockCode!='' ">
			AND stock_code like "%"#{stockCode}"%"
			</if>
		</where>
	</select>