data:"{}", data为空也一定要传"{}";不然返回的是xml格式的。并提示parsererror
1、编写4种WebService方法
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ScriptService] //令WebService成功传入Json参数,并以Json形式返回结果
[GenerateScriptType(typeof(Person))] //不是必要,但推荐添加(如果Person里面再嵌套另一个复杂类型,则必要声明)
[ToolboxItem(false)]
public class WebService1 : System.Web.Services.WebService
{
/// <summary><br>/// 无任何参数<br>/// </summary>
/// <returns></returns>
[WebMethod]
public string HelloWorld()
{
return "Hello World";
}
/// <summary><br>/// 传入参数<br>/// </summary>
///
/// <returns></returns>
[WebMethod]
public string Hello(string name)
{
return string.Format("Hello {0}", name);
}
/// <summary><br>/// 返回泛型列表<br>/// </summary>
///
/// <returns></returns>
[WebMethod]
public List<int> CreateArray(int i)<br> {<br> List<int> list = new List<int>();<br>while (i >= 0)<br> {<br> list.Add(i--);<br> }<br>return list;<br> }<br>/// <summary><br>/// 返回复杂类型<br>/// </summary><br>/// <param name="name">
<br>/// <param name="age">
<br>/// <returns></returns><br> [WebMethod]<br>public Person GetPerson(string name, int age)<br> {<br>return new Person()<br> {<br> Name = name,<br> Age = age<br> };<br> }<br> }<br>/// <summary><br>/// 复杂类型<br>/// </summary><br>public class Person<br> {<br>public string Name { get; set; }<br>public int Age { get; set; }<br> } <p>2、编写js调用以上方法 </p>
<p><br><br><br></p>
<br><title>无标题页</title>
<br><style type="text/css"><br> input<br>{<br> width:200px;<br>}<br></style>
<br><br><br> $(function(){ <br>/*<br> 1、WebService请求类型都为Post,WebService的Url为“[WebServiceUrl]/[WebMethod]”<br> 2、contentType声明为Json<br> 3、data要用Json的字符串格式传入<br> 4、设置了dataType为json后,result就直接为返回的Json对象。<br>*/<br>//调用无参数方法<br> $("#btnHelloWorld").click(function(){<br> $.ajax({<br> type: "POST",<br> contentType:"application/json",<br> url:"WebService1.asmx/HelloWorld",<br><strong>data:"{}",<br></strong> dataType:'json',<br> success:function(result){ <br> alert(result.d);<br> }<br> });<br> }); <br>//传入1个参数<br> $("#btnHello").click(function(){<br> $.ajax({<br> type: "POST",<br> contentType:"application/json",<br> url:"WebService1.asmx/Hello",<br> data:"{name:'KiMoGiGi'}",<br> dataType:'json',<br> success:function(result){ <br> alert(result.d);<br> }<br> });<br> });<br>//返回泛型列表<br> $("#btnArray").click(function(){<br> $.ajax({<br> type: "POST",<br> contentType:"application/json",<br> url:"WebService1.asmx/CreateArray",<br> data:"{i:10}",<br> dataType:'json',<br> success:function(result){ <br> alert(result.d.join(" | "));<br> }<br> });<br> });<br>//返回复杂类型<br> $("#btnPerson").click(function(){<br> $.ajax({<br> type: "POST",<br> contentType:"application/json",<br> url:"WebService1.asmx/GetPerson",<br> data:"{name:'KiMoGiGi',age:26}",<br> dataType:'json',<br> success:function(result){<br>var person = result.d;<br>var showText = [];<br>for(var p in person){<br> showText.push(p + ":" + person[p]);<br> }<br> alert(showText.join("\r\n"));<br> }<br> });<br> });<br> });<br><br><br><br><form id="form1" runat="server">
<br><p><br><input type="button" id="btnHelloWorld" value="HelloWorld"><br></p>
<br><p><br><input type="button" id="btnHello" value="Hello"><br></p>
<br><p><br><input type="button" id="btnArray" value="CreateArray"><br></p>
<br><p><br><input type="button" id="btnPerson" value="GetPerson"><br></p>
<br>
</form>
<br><br></int></int></int>
分享到:
相关推荐
这篇文章将深入探讨如何结合jQuery、AJAX和JSON解析器来实现这一目标。 首先,我们需要理解jQuery的AJAX方法。AJAX(Asynchronous JavaScript and XML)允许我们在后台与服务器通信,无需刷新整个页面。jQuery的`$....
然而,在进行跨域AJAX请求时,可能会遇到“parsererror”的错误。本文将详细解释这个问题的成因以及如何解决。 首先,"parsererror"是jQuery或JavaScript中的一个错误类型,通常发生在尝试解析返回的响应数据时失败...
例如,如果服务器返回JSON,但`dataType`设置为`"html"`,则可能会出现`parsererror`。 3. **网络问题**:网络中断或延迟可能导致请求失败。 4. **语法错误**:在发送到服务器的数据或服务器返回的数据中存在语法...
6. **error**:请求失败时的回调函数,提供三个参数:`jqXHR`(jQuery封装的XMLHttpRequest对象)、`textStatus`(错误状态,如'timeout'、'error'、'parsererror'等)和`errorThrown`(错误信息)。 以下是一个...
例如,如果是"parsererror",检查返回的JSON或XML格式是否正确。 - 确保Ajax请求的URL、请求方法类型、数据格式等设置正确无误。 ### 注意事项 - 当`data`参数为空时,应传递一个空对象`{}`,以防止返回的格式是...
- `"parsererror"`:服务器返回的数据无法解析(可能是因为数据格式错误)。 处理错误时,我们通常会显示一条用户友好的错误消息,并记录日志以便于调试: ```javascript error: function(jqXHR, textStatus, ...
案例1:当 `textStatus` 为 "parsererror" 时,这表明前端尝试解析 JSON 数据失败。可能的原因是服务器返回的不是有效的 JSON 格式,或者额外包含了非 JSON 的文本。例如,响应可能是 `5{“status”:“success”}`...
在AJAX请求的error事件中,除了超时之外,还可能遇到其他类型的错误,如服务器错误("error")、未修改("notmodified")和解析错误("parsererror")。开发者可以根据需要处理这些不同的错误类型。 除了错误处理...
在Java中,可以使用HttpClient库或者OkHttp,而在前端,jQuery库的`$.ajax`或`$.post`函数非常实用。例如,使用jQuery发送POST请求: ```javascript $.ajax({ url: 'http://example.com/api/users', type: 'POST'...
例如,在Node.js中,可以使用`require('body-parser')`中间件来解析JSON请求体。 6. **安全性和最佳实践**:在上传JSON数据时,应确保数据的安全性,比如对敏感信息进行加密。同时,遵循RESTful API设计原则,明确...
可以使用jQuery库简化这一过程: ```javascript $(document).ready(function() { $("#checkUsername").click(function() { const username = $("#usernameInput").val(); if (username) { $.ajax({ type: ...
例如,使用jQuery的`$.ajax`方法: ```javascript $.ajax({ url: '/your-endpoint', type: 'GET', dataType: 'html', // 指定返回数据类型为HTML success: function(response) { var decodedHtml = ...
Express是一个流行的Node.js框架,用于构建Web服务器,而jQuery则简化了前端的AJAX操作。 首先,确保你已经安装了必要的依赖。在命令行中运行`npm install`来安装Express和其他相关模块。这通常会创建一个`package....
使用`DOMParser`或jQuery的`find()`方法找到RSS feed的关键元素,如`<title>`, `<description>`, 和 `<link>`。 ```javascript function parseRss(xml) { var items = $(xml).find('item'); var articles = []; ...
`statusText`是XMLHttpRequest对象中返回的状态文本,例如,“error”、“timeout”、“parsererror”等,通过这种方式可以显示给用户相应的错误提示,提高了用户体验。 举个例子: ```javascript $("#divResult")....
jQuery1.6是一个广泛使用的JavaScript库,它通过简化HTML文档遍历、事件处理、动画和Ajax交互,大大简化了JavaScript开发。该版本引入了多个新特性,并且修复了旧版本中的许多bug。以下是从所提供的文件内容中提取的...
在Vue组件中,我们可以使用内置的`axios`库(或`fetch`、`jQuery.ajax`等其他HTTP库)来发起GET请求,获取JSON数据。这里假设你已经安装了`axios`,并在项目中导入。 ```javascript import axios from 'axios'; ...
如果数据来源于数据库,通常需要通过Ajax请求(如jQuery的`$.ajax`或Fetch API)来获取。以Ajax为例,可以这样写: ```javascript $.ajax({ url: 'your-api-url', type: 'GET', success: function(response) ...