Недопустимый вызов веб-службы, отсутствует значение для параметра: 'newReviewOrLike'

0

Я знаю, что это было задано много раз раньше, но, прочитав все решения, я все еще не могу найти способ решить эту проблему. Я застрял в этом месте с последних 4 часов, поэтому любая помощь будет действительно оценена. Вот мой вызов ajax:

       $.ajax({
            url: "http://localhost:1316/MoviesWebService.asmx/saveReview",
            data: '{ username:"kartik1990",critic:"sanjayR",quote:"great",imdbId:"tt189",isCriticAMember:"true",reviewOrLikes:"review" }',
            type: 'post',
            contentType: 'application/json',
            dataType:'json',
            success: function (response) {
                console.log(response);
            }
        });

Код ASMX:

[WebMethod]
public bool saveReview(ProjLikesTO newReviewOrLike) {
    using (kkapilaCSDataContext db = new kkapilaCSDataContext()) {
        proj_like action = new proj_like();
        action.username = newReviewOrLike.username;
        action.critic = newReviewOrLike.critic;
        action.quote = newReviewOrLike.quote;
        action.imdbId = newReviewOrLike.imdbId;
        action.isCriticAMember = newReviewOrLike.isCriticAMember;
        action.reviewOrlikes = newReviewOrLike.reviewOrLikes;
        db.proj_likes.InsertOnSubmit(action);
        db.SubmitChanges();
        return true;
    }

ProjLikesTO:

public class ProjLikesTO {
    public string username {
        set;
        get;
    }
    public string critic {
        set;
        get;
    }
    public string quote {
        set;
        get;
    }
    public string imdbId {
        set;
        get;
    }
    public string isCriticAMember {
        set;
        get;
    }
    public string reviewOrLikes {
        set;
        get;
    }

    public ProjLikesTO() {
    }

    public ProjLikesTO(string username, string critic, string quote, string imdbId, string isCriticAMember, string reviewOrLikes) {
        this.username = username;
        this.critic = critic;
        this.quote = quote;
        this.imdbId = imdbId;
        this.isCriticAMember = isCriticAMember;
        this.reviewOrLikes = reviewOrLikes;
    }

}
Теги:
web-services
asmx

2 ответа

0
Лучший ответ

В вашем случае сначала вам нужно будет заполнить объект перед передачей с помощью ajax, как показано ниже

var newReviewOrLike = { username:"kartik1990",critic:"sanjayR",quote:"great",imdbId:"tt189",isCriticAMember:"true",reviewOrLikes:"review" }
  $.ajax({
            url: "http://localhost:1316/MoviesWebService.asmx/saveReview",
            data:  JSON.stringify({ newReviewOrLike : newReviewOrLike }),
            type: 'post',
            contentType: 'application/json',
            dataType:'json',
            success: function (response) {
                console.log(response);
            }
        });
  • 1
    это сработало..!! большое спасибо.
  • 0
    мое удовольствие @ user3291389 :)
0

вам нужно какое-то изменение в ваших методах ajax.

 var newReviewOrLike= { username:"kartik1990",critic:"sanjayR",quote:"great",imdbId:"tt189",isCriticAMember:"true",reviewOrLikes:"review" };

  $.ajax({
            url: "http://localhost:1316/MoviesWebService.asmx/saveReview",
            data: JSON.stringify({'newReviewOrLike':newReviewOrLike}), // check this
            type: 'post',
            contentType: 'application/json',
            dataType:'json',
            success: function (response) {
                console.log(response);
            }
        });

Ещё вопросы

Сообщество Overcoder
Наверх
Меню