调用WCF服务时发生JQuery.Post抛出错误
我已经编写了一个WCF服务,它接受一个字符串并返回一个字符串。当我从javascript调用它时,会显示错误警报 我试图阅读API,但不确定我做错了什么,也不确定如何显示实际的错误消息 以下是我的javascript:调用WCF服务时发生JQuery.Post抛出错误,jquery,Jquery,我已经编写了一个WCF服务,它接受一个字符串并返回一个字符串。当我从javascript调用它时,会显示错误警报 我试图阅读API,但不确定我做错了什么,也不确定如何显示实际的错误消息 以下是我的javascript: var path = "http://localhost:15286/Service.svc/SubmitTest?url=" + encodeURIComponent(info.srcUrl); var jqxhr = $.post(path, function() {
var path = "http://localhost:15286/Service.svc/SubmitTest?url=" + encodeURIComponent(info.srcUrl);
var jqxhr = $.post(path, function() {
alert("success");
})
.success(function() { alert("second success"); })
.error(function(oEvent) { alert("error"); })
.complete(function() { alert("complete"); });
};
我已经通过调试器观察了服务的调用,它返回字符串“helloworld”时没有出错,所以我认为我的问题出在javascript方面
WCF服务:
[ServiceContract]
public interface IService
{
[WebInvoke(UriTemplate = "/Submit?input={value}")]
[OperationContract]
string Submit(string value);
}
public class Service : IService
{
public string Submit(string input)
{
return "hello world";
}
使用dataType参数,如果服务返回“Hello World”,则数据类型为“text”:
var jqxhr=$.post(路径,函数(){
警惕(“成功”);
},“text”)/您可能面临跨域问题,请尝试添加
Headers.Add("Access-Control-Allow-Origin", "*");
在服务中说响应看起来像
var Response = new HttpResponseMessage<string>("hello world");
Response.Headers.Add("Access-Control-Allow-Origin", "*");
return Response ;
var Response=newhttpresponsemessage(“你好世界”);
添加(“访问控制允许源代码”、“*”);
返回响应;
服务设置的响应内容类型是什么?抱歉@gdoron,我不理解您的问题:(对不起,你是建议我将此添加到服务或javascript中吗?我应该更清楚,将访问控制标题添加到服务响应中。rry,我已经更新了我的问题,以包含我服务中的代码。我实际上只是从函数中返回一个字符串。我不确定应该在哪里返回你提到的响应(我对WCF服务非常陌生,这是我的第一次)很抱歉,我尝试了此操作,但无法识别HttpResponseMessage类型。我尝试了包括System.Net,但没有成功。我尝试了将函数返回为void而不是string,javascript仍然陷入错误块,因此我不确定问题是否出在服务端。
var Response = new HttpResponseMessage<string>("hello world");
Response.Headers.Add("Access-Control-Allow-Origin", "*");
return Response ;