gpt4 book ai didi

jquery - 如何使用 jQuery ajax 函数调用 WCF 服务

转载 作者:行者123 更新时间:2023-12-01 04:52:32 25 4
gpt4 key购买 nike

我创建了简单的 WCF 服务并将其添加到 ASP.NET MVC 应用程序中。

该服务有一个方法RepeatString:

[OperationContract]
public string RepeatString(string s, int times)
{
string result = "";

for (int i = 0; i < times; ++i)
{
result += s;
}


return result;
}

我尝试使用 post 和 get 方法从 View (.cshtml) 调用此方法:

function callAjaxService1() {    
$.post("~/AjaxService1.svc/RepeatString", {s : 'Test', times : 12},
function(data) {
alert('data from service');
}, 'json');
}

function callAjaxService1() {
$.get("~/AjaxService1.svc/RepeatString", {s : 'Test', times : 12},
function(data) {
alert('data from service');
}, 'json');
}

但都没有成功。

WCF 服务操作装饰中有什么我应该更改的地方,还是我错误地使用了 jQuery.get/post?

最佳答案

我会想到这样的事情......

wcf接口(interface)服务

[OperationContract]
[WebGet(UriTemplate = "/repeatstring",
ResponseFormat= WebMessageFormat.Json)]
string RepeatString(string s, int times);

然后是你的代码

public string RepeatString(string s, int times)
{
string result = "";

for (int i = 0; i < times; ++i)
{
result += s;
}


return result;
}

没有操作契约,但页面将从接口(interface)派生所以你的ajax代码会是这样的。

$.ajax({
type: "GET", //to get your data from the wcf service
url: "AjaxService1.svc/repeatstring", //you might need to add the hostname at the beginning too
data: option // or { propertyname1: "John", propertyname2: "Boston" }
})
.done(function() {
alert( "got data" );
});

您可以向 $.ajax 添加更多选项。您可以将“完成” promise 更改为“成功”,这将在操作成功时起作用。当我创建 wcf 服务并需要发送 json 数据并使用 javascript 获取它时,我使用了 success。无论如何,您可以在 here 上阅读更多相关信息。

编写 json 字符串或“选项”变量时请注意单引号和双引号

现在我希望这能对您有所帮助。干杯

关于jquery - 如何使用 jQuery ajax 函数调用 WCF 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18051439/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com