我使用jQuery来使用我构建的Web服务,输入当前是序列化的JSON,以及通过jQuery AJAX输出。
我想通过添加URI查询字符串参数使服务更加RESTful,以便用户在将URI保存为状态时可以访问同一页面的搜索结果,查询字符串等。
我认为我的网络服务不需要太多变化。我应该使用jQuery访问和重写URI吗?如果有的话,是否有任何帖子证明如何做到这一点?
由于
网络服务:
/// <summary>
/// Summary description for WebService
/// </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 WebService : System.Web.Services.WebService
{
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public OutputData updateProductsList(InputData request)
{
//...//
return result;
}
使用JSON序列化的Ajax请求:
//Build the ajax Request
var req = { request: { qtype: "ProductName", query: queryText, page: resultPage, rp: rP} };
$.ajax({
type: "POST",
url: "/webservice/WebService.asmx/updateProductsList",
data: JSON.stringify(req),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
答案 0 :(得分:1)
我不了解网络服务,但在jQuery方面,如果qtype
,query
,page
和rP
应该是您的参数,只需更改:
data: JSON.stringify(req)
到
data: req.request
或只是
var request: { qtype: "ProductName", query: queryText, page: resultPage, rp: rP} };
//and
data: request
当然,您必须更改您的Web服务以接受这些GET参数。
我希望我的问题是对的。