jQuery WCF Service MVC2 VS2010. NET 4.0 вызов с параметрами терпит неудачу - PullRequest
2 голосов
/ 22 апреля 2010

В Visual Studio 2010 я создал новую службу WCF с поддержкой Ajax

[ServiceContract(Namespace = "TestWCFAjax.Bridge")]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class Bridge
{
    [OperationContract]
    public string DoWork()
    {
        return "jQuery WCF call without parameters from MVC2 works." ; 
    }

    [OperationContract]
    public string DoWork1(string parm)
    {
        return parm + " jQuery WCF call with parameters from MVC2 fails";
    }

В представлении Home Controllers Index.aspx добавляю функцию jQuery:

CallWebMethod () {

$.ajax(
{
     type: "POST",
contentType: "application/json; charset-utf-8",
url: "http://localhost:1452/Bridge.svc/DoWork1",
dataType: "json",
data: '{"parm":"test"}',
error: jqueryError,
success: function (msg) {
     alert("back");
     var divForResult = document.getElementById("test");
     divForResult.innerHTML = "Result: <b>" + msg.d + "</b>";
    }
 })
}

function jqueryError(request, status, error) {
    alert(request.responseText + " " + status + " " + error);
}

(используя встроенный веб-сервер в VS 2010)

Когда я звоню в DoWork, все работает нормально.Когда я вызываю DoWork1, он всегда возвращает «ошибка не определена», и вызов WCF никогда не происходит.

Я пробовал каждую комбинацию: [WebInvoke (Method = "POST", BodyStyle = WebMessageBodyStyle.WrappedRequest, ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json)] Я могу думать, и это не помогает.

Я, должно быть, упускаю что-то простое.

Есть МНОГИЕ сообщения о том, как сделать эту работу,и кроме версии «без параметров», ни одна из них не сработала для меня.

Может кто-нибудь опубликовать образец рабочего примера MVC2 jQuery 1.4 .NET 4.0 WCF VS2010 или определить вероятную ошибку?

Спасибо.

Ответы [ 2 ]

3 голосов
/ 22 апреля 2010

contentType: "application / json; charset-utf-8",

должно быть

contentType: "application / json; charset = utf-8",

0 голосов
/ 23 апреля 2010

Я писал и представлял, используя jQuery с WCF . Весь MVC на самом деле не имеет значения, или, по крайней мере, не должен иметь значения :) У меня есть несколько постов об его использовании, и есть ссылка для загрузки последнего источника из моего демонстрационного проекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...