ajax调用webservice(二) 跨域。
所需工具与项目结构同(一)。
service.asmx中代码如下:
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.Services;
using Newtonsoft.Json;
using System.Data.SqlClient;
using System.Data;
using System.Web.Script.Serialization; namespace WebService2
{
/// <summary>
/// Service1 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempri/url")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
[System.Web.Script.Services.ScriptService]
public class Service1 : System.Web.Services.WebService
{ [WebMethod(Description = "selectbyid")] public void getDBTableInfos(string EnterpriseCode)
{
HttpContext.Current.Response.ContentType = "application/json;charset=utf-8";
string jsonCallBackFunName = string.Empty;
jsonCallBackFunName = HttpContext.Current.Request.Params["jsoncallback"].ToString();
string jsonStr=string.Empty;
CarUsing caru = new CarUsing();
string sql = "select * from CarUsing where cuid =@cuid";
SqlParameter para = new SqlParameter("@cuid", Convert.ToInt32(EnterpriseCode));
using (SqlDataReader dr = SqlHelper.ExecuteReader(sql, CommandType.Text, para))
{
while (dr.Read())
{
caru = new CarUsing(
Convert.ToInt32(dr["cuid"]),
dr["carUsing"].ToString()
);
}
}
jsonStr = JsonConvert.SerializeObject(caru);
HttpContext.Current.Response.Write(string.Format("{0}({1})", jsonCallBackFunName, new JavaScriptSerializer().Serialize(jsonStr)));
}
[WebMethod(Description = "测试selectall")]
public void getDBTableInfos1()
{
HttpContext.Current.Response.ContentType = "application/json;charset=utf-8";
string jsonCallBackFunName = string.Empty;
jsonCallBackFunName = HttpContext.Current.Request.Params["jsoncallback"].ToString();
string jsonStr = string.Empty;
List<CarUsing> CarUsings = new List<CarUsing>();
string sql = "select * from CarUsing order by cuid desc";
using (SqlDataReader dr = SqlHelper.ExecuteReader(sql, CommandType.Text))
{
while (dr.Read())
{
CarUsing carUsing = new CarUsing(
Convert.ToInt32(dr["cuid"]),
dr["carUsing"].ToString()
);
CarUsings.Add(carUsing);
}
jsonStr = JsonConvert.SerializeObject(CarUsings);
}
HttpContext.Current.Response.Write(string.Format("{0}({1})", jsonCallBackFunName, new JavaScriptSerializer().Serialize(jsonStr)));
} [WebMethod(Description = "添加")]
public void getDBTableInfos2(string cusing)
{
string result = "";
HttpContext.Current.Response.ContentType = "application/json;charset=utf-8";
string jsonCallBackFunName = string.Empty;
jsonCallBackFunName = HttpContext.Current.Request.Params["jsoncallback"].ToString();
string jsonStr = string.Empty;
string sql = string.Format("insert into CarUsing values(@carUsing)");
SqlParameter para = new SqlParameter("@carUsing", cusing);
result = SqlHelper.ExecuteNonQuery(sql, CommandType.Text, para).ToString();
jsonStr = JsonConvert.SerializeObject(result);
HttpContext.Current.Response.Write(string.Format("{0}({1})", jsonCallBackFunName, new JavaScriptSerializer().Serialize(jsonStr)));
}
[WebMethod(Description = "修改")]
public void getDBTableInfos3(string cuid,string cusing)
{
string result = "";
HttpContext.Current.Response.ContentType = "application/json;charset=utf-8";
string jsonCallBackFunName = string.Empty;
jsonCallBackFunName = HttpContext.Current.Request.Params["jsoncallback"].ToString();
string jsonStr = string.Empty;
string sql = string.Format("update CarUsing set carUsing =@carUsing where cuid=@cuid");
SqlParameter[] paras = {
new SqlParameter("@carUsing",cusing),
new SqlParameter("@cuid", cuid)
};
result = SqlHelper.ExecuteNonQuery(sql, CommandType.Text, paras).ToString();
jsonStr = JsonConvert.SerializeObject(result);
HttpContext.Current.Response.Write(string.Format("{0}({1})", jsonCallBackFunName, new JavaScriptSerializer().Serialize(jsonStr)));
}
[WebMethod(Description = "删除")]
public void getDBTableInfos4(string cuid)
{
string result = "";
HttpContext.Current.Response.ContentType = "application/json;charset=utf-8";
string jsonCallBackFunName = string.Empty;
jsonCallBackFunName = HttpContext.Current.Request.Params["jsoncallback"].ToString();
string jsonStr = string.Empty;
string sql = string.Format("delete from CarUsing where cuid=@cuid");
SqlParameter para = new SqlParameter("@cuid", Convert.ToInt32(cuid));
result = SqlHelper.ExecuteNonQuery(sql, CommandType.Text, para).ToString();
jsonStr = JsonConvert.SerializeObject(result);
HttpContext.Current.Response.Write(string.Format("{0}({1})", jsonCallBackFunName, new JavaScriptSerializer().Serialize(jsonStr)));
}
}
}
html中代码如下:
<!DOCTYPE html>
<html>
<head>
<title>Index</title>
<script src="js/jquery-1.4.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$("#btnSubmit").click(function () {
var EnterpriseCode = ""; //企业代码
var dataStr = "EnterpriseCode=" + EnterpriseCode;
$.ajax({
type: "get",
url: "http://localhost:22657/Service1.asmx/getDBTableInfos?jsoncallback?",
dataType: "jsonp",
jsonp: 'jsoncallback',
data: dataStr,
success: function (result) {
//返回结果
var str = result;
var jsonList = eval("(" + str + ")");
var html = "<table border=1 bordercolor=6d6d6d cellspacing = 1>";
html += "<tr backgroundcolor='yellow'><td>Id</td><td>用途</td><td>操作</td></tr>";
html += "<tr>";
html += "<td>" + jsonList.Cuid + "</td><td>" + jsonList.CareUsing + "</td><td><a href='javascript:;' onclick='UpdateInit(" + jsonList.Cuid + ")'>修改</a> <a href='javascript:;' onclick='if(confirm(\"确定删除嘛?\")){Delete(" + jsonList.Cuid + ");}'>删除</a></td>";
html += "</tr>";
html += "</table>"
$("#div1").html(html);
},
error: function (result) {
alert("error");
}
})
});
$("#btnSubmit1").click(function () {
$.ajax({
type: "get",
url: "http://localhost:22657/Service1.asmx/getDBTableInfos1?jsoncallback?",
dataType: "jsonp",
jsonp: 'jsoncallback',
data: "{}",
success: function (result) {
var str = result;
var jsons = eval("(" + str + ")");
var html = "<table border=1 bordercolor=6d6d6d cellspacing = 1>";
html += "<tr backgroundcolor='yellow'><td>Id</td><td>用途</td><td>操作</td></tr>";
for (var i = ; i < jsons.length; i++) {
html += "<tr>";
html += "<td>" + jsons[i].Cuid + "</td><td>" + jsons[i].CareUsing + "</td><td><a href='javascript:;' onclick='UpdateInit(" + jsons[i].Cuid + ")'>修改</a> <a href='javascript:;' onclick='if(confirm(\"确定删除嘛?\")){Delete(" + jsons[i].Cuid + ");}'>删除</a></td>";
html += "</tr>";
}
html += "</table>"
$("#div1").html(html);
},
error: function (result) {
alert("error");
}
})
});
$("#btnSubmit2").click(function () {
var carUsing = "测试测试1"; //企业代码
var dataStr = "cusing=" + carUsing;
$.ajax({
type: "get",
url: "http://localhost:22657/Service1.asmx/getDBTableInfos2?jsoncallback?",
dataType: "jsonp",
jsonp: 'jsoncallback',
data: dataStr,
success: function (result) {
if (result = "") {
alert("success");
}
else {
alert("fail");
}
},
error: function (result) {
alert("error");
}
})
});
$("#btnSubmit3").click(function () {
var carUsing = "测试测试"; //企业代码
var dataStr = "cuid=5&cusing=" + carUsing;
$.ajax({
type: "get",
url: "http://localhost:22657/Service1.asmx/getDBTableInfos3?jsoncallback?",
dataType: "jsonp",
jsonp: 'jsoncallback',
data: dataStr,
success: function (result) {
if (result = "") {
alert("success");
}
else {
alert("fail");
}
},
error: function (result) {
alert("error");
}
})
});
$("#btnSubmit4").click(function () {
var carUsing = "";
var dataStr = "cuid=" + carUsing;
$.ajax({
type: "get",
url: "http://localhost:22657/Service1.asmx/getDBTableInfos4?jsoncallback?",
dataType: "jsonp",
jsonp: 'jsoncallback',
data: dataStr,
success: function (result) {
if (result = "") {
alert("success!");
}
else {
alert("fail");
}
},
error: function (result) {
alert("error");
}
})
});
});
</script>
</head>
<body>
<div>
<input id="btnSubmit" type="button" value="selectbyId" />
<input id="btnSubmit1" type="button" value="selectall" />
<input id="btnSubmit2" type="button" value="Insert" />
<input id="btnSubmit3" type="button" value="Update" />
<input id="btnSubmit4" type="button" value="Delete" />
<div id="div1"></idv>
</div>
</body>
</html>
Note:如果读取的是access数据库,在发布后记得设置access的写入权限。否则无法读取数据。
ajax调用webservice(二) 跨域。的更多相关文章
- Ajax 调用webservice 解决跨域请求和发布到服务器后本地调用成功外网失败的问题
webservice 代码 /// <summary> /// MESService 的摘要说明 /// </summary> [WebService(Namespac ...
- ajax调用WebService 不能跨域
http://www.cnblogs.com/dojo-lzz/p/4265637.html "Access-Control-Allow-Origin":'http://local ...
- ArcGIS API for Silverlight 调用WebService出现跨域访问报错的解决方法
原文:ArcGIS API for Silverlight 调用WebService出现跨域访问报错的解决方法 群里好几个朋友都提到过这样的问题,说他们在Silverlight中调用了WebServi ...
- ajax调用webservice 跨域问题
用js或者jquery跨域调用接口时 对方的接口需要做jsonp处理,你的ajax jsonp调用才可以 egg 接口中已经做了jsonp处理,所以可以跨域调用 //$.ajax({ // url: ...
- ASP.NET实现二维码 ASP.Net上传文件 SQL基础语法 C# 动态创建数据库三(MySQL) Net Core 实现谷歌翻译ApI 免费版 C#发布和调试WebService ajax调用WebService实现数据库操作 C# 实体类转json数据过滤掉字段为null的字段
ASP.NET实现二维码 using System;using System.Collections.Generic;using System.Drawing;using System.Linq;us ...
- AJAX跨域问题解决方法(3)——被调用方解决跨域
被调用方解决跨域是指在HTTP响应头中增加指定的字段,允许调用方调用 可以在两种地方增加1.apache/nginx(HTTP服务器)2.tomcat(应用服务器) 浏览器如何判断跨域?仔细观察可以发 ...
- AJAX跨域问题解决方法(4)——调用方解决跨域
调用方解决跨域的方法只有一种,那就是隐藏跨域. 何为隐藏跨域? 隐藏跨域的核心思路是通过反向代理隐藏跨域以欺骗浏览器 什么是反向代理?反向代理是指通过中间服务器使得访问同一个域名的两个不同url最终会 ...
- Ajax调用WebService(一)
Ajax调用WebService(一) http://www.cnblogs.com/leslies2/archive/2011/01/26/1934889.html 分类: Ajax 使用技术 We ...
- WebService对跨域的支持
WebService对跨域的支持 跨域问题来源于JavaScript的同源策略,即只有 协议+主机名+端口号 (如存在)相同,则允许相互访问.也就是说JavaScript只能访问和操作自己域下的资源, ...
- Ajax调用WebService接口样例
在做手机端h5的应用时,通过Ajax调用http接口时没啥问题的:但有些老的接口是用WebService实现的,也来不及改成http的方式,这时通过Ajax调用会有些麻烦,在此记录具体实现过程.本文使 ...
随机推荐
- 大数据学习之测试hdfs和mapreduce(二)
上篇已经搭建好环境,本篇主要测试hadoop中的hdfs和mapreduce功能. 首先填坑:启动环境时发现DataNode启动不了.查看日志 从日志中可以看出,原因是因为datanode的clust ...
- windows10 预览版 中英文官方下载地址+激活密钥+网盘分享
windows10 预览版 中英文官方下载地址+激活密钥+网盘分享 产品密钥:NKJFK-GPHP7-G8C3J-P6JXR-HQRJR 英语 64 位 (x64) http://iso.esd.m ...
- 基于Karma和Jasmine的AngularJS测试
1:工程目录结构 y@y:karma-t01$ tree -L 3.├── client│ ├── app│ │ └── user│ ├── bower_components│ │ ...
- Weblogic11g+Axis1.4 实现WebService服务
IDE:NetBeans8.0 项目结构: (1)新建接口Hello.java package com.test; /** * @author y * @date 2015-9-5 7:51:29 * ...
- 【HDOJ】1539 Shredding Company
DFS. /* 1539 */ #include <iostream> #include <cstdio> #include <cstring> #include ...
- 【转】Android理解:显式和隐式Intent---- try catch
原文网址:http://blog.csdn.net/xiao__gui/article/details/11392987 Intent是Android初学者比较难理解的一个东西.我这里以通俗易懂的语言 ...
- Python datetime时间日期处理
在处理微博数据的时候,经常会遇到对时间数据的处理,于是决定开始去一步一步的总结下Python关于时间的常见处理,主要以参考Python的官方文档为主,结合实例.接下来会一步一步更新,敬请期待
- 2014-08-22 关于Response、Request等对象在cs文件中的使用
今天是在吾索实习的第33天.已经有一段时间没写过博客了,今天突然想起个值得分享的东西,所以又华丽地回归了. 废话不多说了,直奔主题.我们会发现,在我们在cs文件中,直接使用Response.Reque ...
- 反编译工具 使用.NET JustDecompile来反编译你的程序代码
原文地址:http://www.it165.net/pro/html/201310/7383.html 前言 在项目的进行中有时会碰到需要去了解由第三方所开发的程序代码或者因为年久已经遗失原始码的程序 ...
- 基本 vi 命令
前言 本文内容翻译 Basic vi Command, Colorado State University, 翻译原文的大部分内容. 本文介绍的是 UNIX 下的 vi 编辑器,和 Linux 下常用 ...