如何从外部服务器调用C#WebService中的JSON方法
How to call JSON methods from C# WebService from external server
如何在HTML5/JavaScript网站中使用asp.net web服务(c#)?并且web服务与客户端不在同一个站点中,因此这将是一个跨域请求。
我在web编程方面有一点经验,在将我的所有asp.net页面移动到HTML5和JS以获得更快的界面时,我很难将我的web服务连接到JS,JSON就是答案,收到的信息从2Kb下降到128字节,所以在移动设备上,它在某种程度上是有用的
第一/服务器端
mywebservice.asmx
下一个web服务将托管在site.com 网站上
那么地址将是"Site.com/MYWS.asmx/JSONMethod"
[WebService(Namespace = "http://...")]
[System.Web.Script.Services.ScriptService]
public class MYWS
{
[WebMethod]
[ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)]
public string JSONMethod(/*ParType ParName, ParType ParName2,.. etc*/)
{
List<object> tempobjects = new List<object>();
tempobjects.Add(new { ID = id, Val = val /*more params=> ParName= "ParValue", etc..*/ });
var retVal = new JavaScriptSerializer().Serialize(tempobjects.ToArray());
Context.Response.ContentType = "application/json";
var p = "";
if (Context.Request.Params.AllKeys.Contains("callback") == true)
p = Context.Request.Params["callback"].ToString();
Context.Response.Write(string.Format(CultureInfo.InvariantCulture, "{0}({1})", p, retVal));
}
}
第二方/客户端
myJS.js
function MyJSMethod(){
$.ajax({
url: "Site.com/MYWS.asmx/JSONMethod",
data:{ParName: "parValue"/*, ParName2... etc*/},
type:"GET",
dataType:"jsonp" //if the method
})
.done(
function(data){
//Do what you need with the json data retrieved
//... CODE HERE ...
//In case you need to call a method from another js being used
//window["JSmethod"](data)//if the json received is needed
}
).fail(function(jqXHR, textStatus, errorThrown ){
alert(jqXHR);
alert(textStatus);
alert(errorThrown);
});
}
希望这对你和我一样有效。祝你好运,编码快乐。
-Poncho
相关文章:
- 单击按钮更改加载到表中的JSON文件
- 将字符串转换为GWT中的JSON对象(JSNI)
- 使用jquery解析phonegap中的json数据
- 将javascript中的JSON输出为不带jquery的列表
- 如何使用NodeJS修改文件中的JSON值
- 对数组中的json对象进行迭代
- 使用 js 删除本地存储中的 json 对象
- 如何用HTML中的JSON外部文件填充下拉按钮
- 使用$http的angular js中的JSON数据-data.push()
- AJAX请求中的JSON对象为Null或空
- 隐藏HTML元素中的JSON编码和解码
- 分析sharepoint 2010 Web部件中的json
- 将MySQL中的JSON导入Google图表
- 从表中的 JSON 数组获取数据
- 如何更新文件中的 JSON 数据
- 使用 Bean 对象中的 JSON 构造数组
- JavaScript 中的 JSON 解析
- 节点.js中的 JSON 数组
- JavaScript 中的 JSON.stringify () 错误
- 使用 PHP 中的 JSON 进行 JSON 解析