Javascript 启用WCF JSONP的服务-返回的标签无效

Javascript 启用WCF JSONP的服务-返回的标签无效,javascript,wcf,jsonp,Javascript,Wcf,Jsonp,我有一个WCF服务返回一个自定义对象(这在浏览器中工作),但是当我从Javascript调用该服务时,我在FF中得到了无效标签错误。当我把http://localhost/Service1.svc/MethodName/param1/param2在浏览器中,我得到了正确的信息,但它看起来与我将其转换为JSONP ie之前的JSON响应相同。我不确定响应中是否有包装。我使用的javascript如下所示: function CallService() { $.ajax({ cache:tr

我有一个WCF服务返回一个自定义对象(这在浏览器中工作),但是当我从Javascript调用该服务时,我在FF中得到了无效标签错误。当我把
http://localhost/Service1.svc/MethodName/param1/param2
在浏览器中,我得到了正确的信息,但它看起来与我将其转换为JSONP ie之前的JSON响应相同。我不确定响应中是否有包装。我使用的javascript如下所示:

function CallService() {
$.ajax({
    cache:true,
    type: varType, //GET or POST or PUT or DELETE verb
    url: varUrl, // Location of the service
    data: varData, //Data sent to server
    crossDomain: true,
    contentType: varContentType, // content type sent to server
    dataType: varDataType, //Expected data format from server
    processdata: varProcessData, //True or False
    success: function (msg) {//On Successful service call
        ServiceSucceeded(msg);
    },
    error: ServiceFailed// When Service call fails
});

function SetupTrainList(tiploc) {
    try {
        varType = "GET";
        varUrl = "http://localhost/Service1.svc/MethodName/param1/param2";
        varContentType = "application/javascript";
        varDataType = "jsonp";
        varProcessData = false;
        CallService();
    }
    catch (e) {
        console.log(e.toString());
    }
}
世界妇联:

<OperationContract()>
    <WebInvoke(BodyStyle:=WebMessageBodyStyle.Bare,
        Method:="GET",
        RequestFormat:=WebMessageFormat.Json,
        ResponseFormat:=WebMessageFormat.Json,
        UriTemplate:="MethodName/{param1}/{param2}")>
    Function MethodName(ByVal param1 As String, ByVal param2 As String) As ComplexType

函数MethodName(ByVal param1作为字符串,ByVal param2作为字符串)作为ComplexType

您可以尝试查看WCF在从浏览器调用而不是从JS调用时实际创建的消息。我猜这个问题是由于向jQuery HTTP客户机指定了
jsonp
引起的。当您试图从jQuery或javascript调用WCF REST服务,并且该服务位于不同的域中时,您将获得跨域访问异常,除非您将jQuery中的数据类型更改为jsonp。在这种情况下,您需要为服务提供验证回调方法,以便将响应写回流并调用函数。通过此链接查找更多信息: