`
isiqi
  • 浏览: 16491705 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

jquery ajax json parsererror

阅读更多

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 &gt;= 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>

分享到:
评论
1 楼 ChenXzh 2011-11-02  
密集恐惧症,这些个代码怎么看呀。

相关推荐

    Saving ASP.Net Form Data with jQuery AJAX and JSON Parser

    这篇文章将深入探讨如何结合jQuery、AJAX和JSON解析器来实现这一目标。 首先,我们需要理解jQuery的AJAX方法。AJAX(Asynchronous JavaScript and XML)允许我们在后台与服务器通信,无需刷新整个页面。jQuery的`$....

    完美解决ajax跨域请求下parsererror的错误

    然而,在进行跨域AJAX请求时,可能会遇到“parsererror”的错误。本文将详细解释这个问题的成因以及如何解决。 首先,"parsererror"是jQuery或JavaScript中的一个错误类型,通常发生在尝试解析返回的响应数据时失败...

    JQuery ajax中error返回错误及一直返回error的解答

    例如,如果服务器返回JSON,但`dataType`设置为`"html"`,则可能会出现`parsererror`。 3. **网络问题**:网络中断或延迟可能导致请求失败。 4. **语法错误**:在发送到服务器的数据或服务器返回的数据中存在语法...

    jquery ajax方法实现实例

    6. **error**:请求失败时的回调函数,提供三个参数:`jqXHR`(jQuery封装的XMLHttpRequest对象)、`textStatus`(错误状态,如'timeout'、'error'、'parsererror'等)和`errorThrown`(错误信息)。 以下是一个...

    jquery中ajax使用error调试错误的方法

    例如,如果是"parsererror",检查返回的JSON或XML格式是否正确。 - 确保Ajax请求的URL、请求方法类型、数据格式等设置正确无误。 ### 注意事项 - 当`data`参数为空时,应传递一个空对象`{}`,以防止返回的格式是...

    MVC_TIP5:JQuery_AJAX错误捕获

    - `"parsererror"`:服务器返回的数据无法解析(可能是因为数据格式错误)。 处理错误时,我们通常会显示一条用户友好的错误消息,并记录日志以便于调试: ```javascript error: function(jqXHR, textStatus, ...

    jQuery中ajax错误调试分析

    案例1:当 `textStatus` 为 "parsererror" 时,这表明前端尝试解析 JSON 数据失败。可能的原因是服务器返回的不是有效的 JSON 格式,或者额外包含了非 JSON 的文本。例如,响应可能是 `5{“status”:“success”}`...

    jQuery AJAX timeout 超时问题详解

    在AJAX请求的error事件中,除了超时之外,还可能遇到其他类型的错误,如服务器错误("error")、未修改("notmodified")和解析错误("parsererror")。开发者可以根据需要处理这些不同的错误类型。 除了错误处理...

    json转实体json解析post模拟请求

    在Java中,可以使用HttpClient库或者OkHttp,而在前端,jQuery库的`$.ajax`或`$.post`函数非常实用。例如,使用jQuery发送POST请求: ```javascript $.ajax({ url: 'http://example.com/api/users', type: 'POST'...

    Json.zip_JSON_JSON上传数据

    例如,在Node.js中,可以使用`require('body-parser')`中间件来解析JSON请求体。 6. **安全性和最佳实践**:在上传JSON数据时,应确保数据的安全性,比如对敏感信息进行加密。同时,遵循RESTful API设计原则,明确...

    ajax 检测用户名是否被占用

    可以使用jQuery库简化这一过程: ```javascript $(document).ready(function() { $("#checkUsername").click(function() { const username = $("#usernameInput").val(); if (username) { $.ajax({ type: ...

    java+ajax处理乱码实例

    例如,使用jQuery的`$.ajax`方法: ```javascript $.ajax({ url: '/your-endpoint', type: 'GET', dataType: 'html', // 指定返回数据类型为HTML success: function(response) { var decodedHtml = ...

    expressUploadFiles:使用express+jquery(ajax)+html 实现文件异步上传

    Express是一个流行的Node.js框架,用于构建Web服务器,而jQuery则简化了前端的AJAX操作。 首先,确保你已经安装了必要的依赖。在命令行中运行`npm install`来安装Express和其他相关模块。这通常会创建一个`package....

    无刷新RSS阅读器的实现(Ajax)

    使用`DOMParser`或jQuery的`find()`方法找到RSS feed的关键元素,如`&lt;title&gt;`, `&lt;description&gt;`, 和 `&lt;link&gt;`。 ```javascript function parseRss(xml) { var items = $(xml).find('item'); var articles = []; ...

    jquery中页面Ajax方法$.load的功能使用介绍

    `statusText`是XMLHttpRequest对象中返回的状态文本,例如,“error”、“timeout”、“parsererror”等,通过这种方式可以显示给用户相应的错误提示,提高了用户体验。 举个例子: ```javascript $("#divResult")....

    jQuery1.6 使用方法一

    jQuery1.6是一个广泛使用的JavaScript库,它通过简化HTML文档遍历、事件处理、动画和Ajax交互,大大简化了JavaScript开发。该版本引入了多个新特性,并且修复了旧版本中的许多bug。以下是从所提供的文件内容中提取的...

    vue2.5.2使用http请求获取静态json数据的实例代码

    在Vue组件中,我们可以使用内置的`axios`库(或`fetch`、`jQuery.ajax`等其他HTTP库)来发起GET请求,获取JSON数据。这里假设你已经安装了`axios`,并在项目中导入。 ```javascript import axios from 'axios'; ...

    JS实现下拉框树形

    如果数据来源于数据库,通常需要通过Ajax请求(如jQuery的`$.ajax`或Fetch API)来获取。以Ajax为例,可以这样写: ```javascript $.ajax({ url: 'your-api-url', type: 'GET', success: function(response) ...

Global site tag (gtag.js) - Google Analytics