Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 267611
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T23:34:47+00:00 2026-05-11T23:34:47+00:00

I am calling an ASP.NET MVC action public JsonResult GetPatient(string patientID) { … from

  • 0

I am calling an ASP.NET MVC action

public JsonResult GetPatient(string patientID)
{
...

from JavaScript using jQuery. The following call works

$.getJSON(
'/Services/GetPatient',
{ patientID: "1" },
function(jsonData) {
  alert(jsonData);
});

whereas this one does not.

$.ajax({
  type: 'POST',
  url: '/Services/GetPatient',
  data: { patientID: "1" },
  contentType: 'application/json; charset=utf-8',
  dataType: 'json',
  success: function(jsonData) {
    alert(jsonData);
  },
  error: function() {
    alert('Error loading PatientID=' + id);
  }
});

Both reach the action method, but the patientID value is null w/ the $.ajax call. I’d like to use the $.ajax call for some of the advanced callbacks.

Any thoughts appreciated.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-11T23:34:48+00:00Added an answer on May 11, 2026 at 11:34 pm

    Content-type

    You don’t need to specify that content-type on calls to MVC controller actions. The special “application/json; charset=utf-8” content-type is only necessary when calling ASP.NET AJAX “ScriptServices” and page methods. jQuery’s default contentType of “application/x-www-form-urlencoded” is appropriate for requesting an MVC controller action.

    More about that content-type here: JSON Hijacking and How ASP.NET AJAX 1.0 Avoids these Attacks

    Data

    The data is correct as you have it. By passing jQuery a JSON object, as you have, it will be serialized as patientID=1 in the POST data. This standard form is how MVC expects the parameters.

    You only have to enclose the parameters in quotes like “{ ‘patientID’ : 1 }” when you’re using ASP.NET AJAX services. They expect a single string representing a JSON object to be parsed out, rather than the individual variables in the POST data.

    JSON

    It’s not a problem in this specific case, but it’s a good idea to get in the habit of quoting any string keys or values in your JSON object. If you inadvertently use a JavaScript reserved keyword as a key or value in the object, without quoting it, you’ll run into a confusing-to-debug problem.

    Conversely, you don’t have to quote numeric or boolean values. It’s always safe to use them directly in the object.

    So, assuming you do want to POST instead of GET, your $.ajax() call might look like this:

    $.ajax({
      type: 'POST',
      url: '/Services/GetPatient',
      data: { 'patientID' : 1 },
      dataType: 'json',
      success: function(jsonData) {
        alert(jsonData);
      },
      error: function() {
        alert('Error loading PatientID=' + id);
      }
    });
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Clarification: this is not about user agent calls to pages, but Classic ASP calling
when calling a SSIS package (C# app) using LoadFromSqlServer, does the user account have
Calling Validate() on an XmlDocument requires passing in a ValidationEventHandler delegate. That event function
Calling all C macro gurus... Is there any way to write a C macro
When calling CoInitializeEx , you can specify the following values for dwCoInit : typedef
When calling a remote service (e.g. over RMI) to load a list of entities
When calling php via cli, the current directory is NOT changed to the one
When calling DirectoryInfo.GetDirectories(.) on an instance of a DirectoryInfo class which points to a
When calling an overloaded argument in visual studio, visual studio often doesn't show the
When calling the ImagePicker to take a picture the user is not prompted to

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.