簡體   English   中英

在C#中從$ .Post獲得空響應

[英]Getting empty response from $.Post in c#

我正在嘗試使用$ .Post()調用休息服務。 調用我的服務的語法如下:

  $.post("http://MyIp/SaveUserVote", { "PostId": 1, "UserId": 3 }, function (result) {
                            alert("success");
                        });

我的服務接受輸入並以JSON返回結果。 請在下面檢查我的休息服務:

 public object Post(SaveUserVote request)
    {

        if (string.IsNullOrEmpty(request.PostId.ToString()))
            throw new ArgumentNullException("Required", "PostId cannot be null");

        try
        {
            return SaveUserVote(request);
        }
        catch (Exception ex)
        {
            objResult._result = "NotSuccess";
            dicResult.Add("UserVote", objResult);

            string output = JsonConvert.SerializeObject(dicResult);
            return output;
        }
    }

      public string SaveUserVote(SaveUserVote userPost)
    {
                Result objResult = new Result();
                Dictionary<string, Result> dicResult = new Dictionary<string, Result>();
              var objVote = new PostVote
            {
                PostId = userPost.PostId,
                UserId = userPost.UserId,
             };
            _dbcontext.PostVotes.InsertOnSubmit(objVote);
            _dbcontext.SubmitChanges();


        objResult._result = "Success";
        dicResult.Add("UserVote", objResult);

        string output = JsonConvert.SerializeObject(dicResult);
        return output;
    }

            public class Result
    {
        public string _result { get; set; }
    }

當我從服務器端訪問此服務時,此服務運行良好。 但是,當我使用ajax發布調用Firefox瀏覽器中的Firebug來檢查我的網絡時,它沒有任何響應。 誰能幫我擺脫這個問題。 我認為我在調用或錯過了獲得響應所需的參數時犯了一些愚蠢的語法錯誤。 謝謝

任何快速幫助?

您可能會對XMLHttpRequests的相同原始策略犯規。 基本上,只能向與運行Javascript的頁面相同的方案/主機/端口發出ajax請求。

您真的在$.post()調用中硬編碼了絕對URL嗎? 切換到相對URL將消除這種可能性$.post("/SaveUserVote", ... ,從而確保方案,主機和端口相同。

您是否在瀏覽器開發工具的“網絡”標簽中看到傳出的ajax POST請求? (在IE中為F12,在Chrome中為Ctrl-Shift-I)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM