簡體   English   中英

Jquery ajax 將數據傳遞到處理程序不起作用(Asp.net,C#,Jquery)

[英]Jquery ajax with passing data into handler not working (Asp.net, C#, Jquery)

我已經使用 ajax 調用將一些表單數據傳遞給具有 json 格式的處理程序,但 ajax 不起作用。 我使用$('form').serializeArray()從表單 Data 傳遞數據,並使用 ajax 調用傳遞數據。 在這種情況下,我已經傳遞了 static 數據,並且 ajax 調用仍然無法正常工作。

這是 jQuery 代碼。

function SessionLogAutoSave() {
    var sendInfo =
    {
        "ctl00$Header1$cbo_Practice": "ea2aae16-a7f9-4e75-82b5-d2c231c97cf6",
        "ctl00$cph_MainContent$OFTAddRecord$hdnUrl": "",
        "ctl00$cph_MainContent$hdnSessionId": "yyuicdueevmdeynp2q12mrb1",
        "ctl00$cph_MainContent$hdnPracticeId": "870ee142-eb27-4d37-bba2-061fa5f801e3",
        "ctl00$cph_MainContent$hdnRecordId": "",
        "ctl00$cph_MainContent$hdnUserId": "d220da1a-d855-4f90-b8db-a84bc5ba8f51",
        "ctl00$cph_MainContent$txt_Name": "",
        "ctl00$cph_MainContent$txt_Address": "",
        "ctl00$cph_MainContent$txt_ContactNumber": "",
        "ctl00$cph_MainContent$cbo_ComplaintBy": "1",
        "ctl00$cph_MainContent$cbo_ComplaintReceivedBy": "83beebf4-e6ea-49b3-a64f-ed20f755afdd",
        "ctl00$cph_MainContent$cbo_PersonHandlingComplaint": "83beebf4-e6ea-49b3-a64f-ed20f755afdd",
        "ctl00$cph_MainContent$cbo_Type": "1",
        "ctl00$cph_MainContent$txt_ComplaintReceivedOn": "",
        "ctl00$cph_MainContent$txt_ComplaintReceivedOn$dateInput": "",
        "ctl00_cph_MainContent_txt_ComplaintReceivedOn_calendar_SD": "[]",
        "ctl00_cph_MainContent_txt_ComplaintReceivedOn_calendar_AD": "[[1980,1,1],[2099,12,30],[2021,4,22]]",
        "ctl00_cph_MainContent_txt_ComplaintReceivedOn_dateInput_ClientState": "{\"enabled\":true,\"emptyMessage\":\"\",\"validationText\":\"\",\"valueAsString\":\"\",\"minDateStr\":\"1980-01-01-00-00-00\",\"maxDateStr\":\"2099-12-31-00-00-00\",\"lastSetTextBoxValue\":\"\"}",
        "ctl00_cph_MainContent_txt_ComplaintReceivedOn_ClientState": "",
        "ctl00$cph_MainContent$txt_DateFollowup": "",
        "ctl00$cph_MainContent$txt_DateFollowup$dateInput": "",
        "ctl00_cph_MainContent_txt_DateFollowup_calendar_SD": "[]",
        "ctl00_cph_MainContent_txt_DateFollowup_calendar_AD": "[[1980,1,1],[2099,12,30],[2021,4,22]]",
        "ctl00_cph_MainContent_txt_DateFollowup_dateInput_ClientState": "{\"enabled\":true,\"emptyMessage\":\"\",\"validationText\":\"\",\"valueAsString\":\"\",\"minDateStr\":\"1980-01-01-00-00-00\",\"maxDateStr\":\"2099-12-31-00-00-00\",\"lastSetTextBoxValue\":\"\"}",
        "ctl00_cph_MainContent_txt_DateFollowup_ClientState": "",
        "ctl00$cph_MainContent$txt_DetailsComplaint": "",
        "ctl00$cph_MainContent$txt_Followup": "",
        "ctl00$cph_MainContent$txt_DateActionTaken": "",
        "ctl00$cph_MainContent$txt_DateActionTaken$dateInput": "",
        "ctl00_cph_MainContent_txt_DateActionTaken_calendar_SD": "[]",
        "ctl00_cph_MainContent_txt_DateActionTaken_calendar_AD": "[[1980,1,1],[2099,12,30],[2021,4,22]]",
        "ctl00_cph_MainContent_txt_DateActionTaken_dateInput_ClientState": "{\"enabled\":true,\"emptyMessage\":\"\",\"validationText\":\"\",\"valueAsString\":\"\",\"minDateStr\":\"1980-01-01-00-00-00\",\"maxDateStr\":\"2099-12-31-00-00-00\",\"lastSetTextBoxValue\":\"\"}",
        "ctl00_cph_MainContent_txt_DateActionTaken_ClientState": "",
        "ctl00$cph_MainContent$txt_DateOutcome": "",
        "ctl00$cph_MainContent$txt_DateOutcome$dateInput": "",
        "ctl00_cph_MainContent_txt_DateOutcome_calendar_SD": "[]",
        "ctl00_cph_MainContent_txt_DateOutcome_calendar_AD": "[[1980,1,1],[2099,12,30],[2021,4,22]]",
        "ctl00_cph_MainContent_txt_DateOutcome_dateInput_ClientState": "{\"enabled\":true,\"emptyMessage\":\"\",\"validationText\":\"\",\"valueAsString\":\"\",\"minDateStr\":\"1980-01-01-00-00-00\",\"maxDateStr\":\"2099-12-31-00-00-00\",\"lastSetTextBoxValue\":\"\"}",
        "ctl00_cph_MainContent_txt_DateOutcome_ClientState": "",
        "ctl00$cph_MainContent$txt_ActionTaken": "",
        "ctl00$cph_MainContent$txt_Outcome": "",
        "ctl00$cph_MainContent$rbtnDiscussed": "0",
        "ctl00$cph_MainContent$cbo_Status": "1",
        "ctl00$cph_MainContent$hid_Id": "",
        "ctl00$cph_MainContent$hdnAttachments": "",
        "ctl00$cph_MainContent$hdnFileNames": "",
        "ctl00$cph_MainContent$cbo_Months": "4",
        "ctl00$cph_MainContent$cbo_Years": "2021"
    };
    jQuery.ajax({
        url: 'Handlers/SaveSessionLogAutoSave.ashx',
        data: 'FormData=' + JSON.stringify(sendInfo) + '',
        contentType: 'application/json;utf-8',
        dataType: 'json',
        type: 'GET',
        cache: false,
        success: function (data) {
            // you can make a tiny notification here
            return;
        },
        error: function (responseText, textStatus, XMLHttpRequest) {
            return;
        }
    });
}

我已經使用處理程序來檢索數據。 我的處理程序代碼是

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace DentalCompliance.Handlers
{
    /// <summary>
    /// Summary description for SaveSessionLogAutoSave
    /// </summary>
    public class SaveSessionLogAutoSave : IHttpHandler
    {

        public void ProcessRequest(HttpContext context)
        {
            string method = context.Request["FormData"];
            
            context.Response.ContentType = "text/plain";
            context.Response.Write("Hello World");
            //}
        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
}

我在互聯網上搜索,經過 1 天的搜索,我無法找到任何解決方案。

將您的代碼更改為:

 $.ajax({
            url: 'Handlers/SaveSessionLogAutoSave.ashx',
            data: 'FormData=' + JSON.stringify(sendInfo) + '',
            dataType: 'json',
            type: 'POST',
            cache: false,
            success: function (data) {
                // you can make a tiny notification here
                return;
            },
            error: function (responseText, textStatus, XMLHttpRequest) {
                return;
            }
        });

更改了兩件事: 1. 從GETPOST的請求類型,因為當我們使用GET時,您發送的數據附加到 URL 並且您發送的數據過多,超出了應用程序中允許的 URL 的長度。 2. 刪除contentType ,因為您不發送 JSON。

暫無
暫無

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

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