使用本教程:http://dotnetslackers.com/articles/ajax/Using-jQuery-with-ASP-NET.aspx
1.调用Web服务,例如Service1.asmx/HelloToYou
然而,www.example.com中的默认Web服务asp.net不会加载具有此重写URL的页面,相反,我只能将其称为:Service1.asmx?操作= Hello ToYou
如何实现所谓的URL重写?
1.默认的asp.net Web服务:是JSON格式吗?不清楚我如何以及在哪里指定格式。
在jQuery方面,我做了这样的事情:
$.ajax({
type: "POST",
url: "WebService/Service1.asmx/HelloToYou",
data: "{'name': '" + $('#name').val() + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
AjaxSucceeded(msg);
},
error: AjaxFailed
});
内容类型是JSON。
在asp.net 3.5中,我是否必须将格式专门设置为JSON,或者默认情况下是JSON?
更新
在web服务代码后面
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
namespace DummyWebService
{
/// <summary>
/// Summary description for Service1
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
//[System.ComponentModel.ToolboxItem(false)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
[System.Web.Script.Services.ScriptService]
public class Service1 : System.Web.Services.WebService
{
[WebMethod()]
public string HelloToYou(string name)
{
return "Hello " + name;
}
[WebMethod()]
public string sayHello()
{
return "hello ";
}
}
}
2条答案
按热度按时间uinbv5nw1#
我曾经为json响应声明了一个特定的c#类。如果在它上面设置属性[Serializable],它将在响应客户端期间被序列化。
例如:
然后,在一个方法中,您可以:
通过JavaScript,你可以简单地处理JSON:
对于您的示例,只需在json_response类中使用字符串属性。
3phpmpom2#
你需要在文件后面的代码中取消注解一些行。