2016-11-23 5 views
0

Ich bin machen searchbox an die Steuerung ein Register meiner Datenbank Wert je sended zu bekommen, also meiner Meinung nach:Parameter aus Sicht Get

<p> Manifest: <input type="text" name="manifest" id="manifest" /> <input type="submit" value="search" name="btnGetForEdith" id="btnGetForEdith" /></p> 

JS:

$(document).ready(function() { 
    GetModulLogWasteForEdit(); 
    $("#btnGetForEdith").click(onGetModulLogWasteSuccess); 
}); 

function GetModulLogWasteForEdit() { 
    currentId = 0; 
    try { 
     $(function() { 
      $.ajax({ 
       cache: false, 
       type: "get", 
       dataType: "json", 
       url: "/LogWaste/GetForEdit", 
       contentType: "application/json; charset=utf-8", 
       success: onGetModulLogWasteSuccess, 
       error: function (response) { 
        ErrorMessage("Error", GetTextError(response)); 
       } 
      }); 
     }); 
    } catch (e) { 
     ErrorMessage("Error", e.message); 
    } 
} 

Controller:

Problem ist, dass ich keinen "manifesten" Wert in meine Steuerung bekomme, es kommt null, also kann ich nicht y damit. Kann mir jemand erklären, warum es passiert? Grüße

+0

Sie sind auf der Ajax-Aufruf der Datenparameter fehlt ... Siehe dazu: http://stackoverflow.com/questions/15576548/how-to-pass-Parameter-in-get-Anfragen-mit-jquery –

Antwort

0

Versuchen Sie, die anonyme Funktion auszuführen, wo Sie die Ajax-Request

function GetModulLogWasteForEdit() { 
currentId = 0; 
try { 
    $(function() { 
     $.ajax({ 
      cache: false, 
      type: "get", 
      dataType: "json", 
      url: "/LogWaste/GetForEdit", 
      contentType: "application/json; charset=utf-8", 
      success: onGetModulLogWasteSuccess, 
      error: function (response) { 
       ErrorMessage("Error", GetTextError(response)); 
      } 
     }); 
    })(); // Add() to execute the function 
} catch (e) { 
    ErrorMessage("Error", e.message); 
} 

}

+0

Das ist nicht das Problem, Problem ist ich nicht erhalten "manifest" Wert der Eingabesuche schreibe ich vor dem Drücken der "Suche" -Taste (Ansicht) in meine Steuerung –

0
function GetModulLogWasteForEdit() { 
    currentId = 0; 


try { 
    var manifest=$('#manifest').val(); 

     $.ajax({ 
      cache: false, 
      type: "get", 
      dataType: "json", 
      url: "/LogWaste/GetForEdit", 
      data:{manifest:manifest} 
      contentType: "application/json; charset=utf-8", 
      success: onGetModulLogWasteSuccess, 
      error: function (response) { 
       ErrorMessage("Error", GetTextError(response)); 
      } 
     }); 
    } catch (e) { 
    ErrorMessage("Error", e.message); 
    } 
} 
+0

gute Idee, aber es kommt immer noch Null:/ –

+0

t ry: daten: '{"manifest": "' + manifest + '"}' –

0

Um einen Wert Sie es senden zu erhalten gelegt hat, was ich nicht Wir sehen uns. Fügen Sie diese:

data: {'manifest': manifest } 

So sollte es so aussehen:

$(function() { 
     $.ajax({ 
      cache: false, 
      type: "get", 
      dataType: "json", 
      url: "/LogWaste/GetForEdit", 
      data: {'manifest': manifest } 
      contentType: "application/json; charset=utf-8", 
      success: onGetModulLogWasteSuccess, 
      error: function (response) { 
       ErrorMessage("Error", GetTextError(response)); 
      } 
     }); 
    }); 

Ich hoffe, das hilft!

0

Bitte verwenden Sie folgenden Code in Javascript

$(document).ready(function() {   
     $("#btnGetForEdith").click(function() { 
      GetModulLogWasteForEdit(); 
     }); 
    }); 

    function GetModulLogWasteForEdit() { 
     currentId = 0; 
     try { 
      $(function() { 
       $.ajax({ 
        cache: false, 
        type: "GET", 
        dataType: "json", 
        url: "/LogWaste/GetForEdit?manifest=" + $("#manifest").val(),//Manifest will be passed in querystring like this 
        contentType: "application/json; charset=utf-8", 
        success: function (data) { 
         console.log(data); 
        }, 
        error: function (response) { 
         console.log("Error", GetTextError(response)); 
        } 
       }); 
      }); 
     } catch (e) { 
      ErrorMessage("Error", e.message); 
     } 
    } 

In Controller

public ActionResult GetForEdit(string manifest) 
    { 
     string result = string.Empty; 
     var userId = User.Identity.GetUserId(); 
     var currentUser = UserClass.GetUserBranchOfficeId(userId); 
     try 
     { 
      result = new JavaScriptSerializer().Serialize(LogWasteModule.GetForEdit(currentUser)); 
     } 
     catch (Exception) 
     { 
      throw; 
     } 
     //Had changed this line as your are using `dataType: "json"`, as return data type 
     return Json(result, JsonRequestBehavior.AllowGet); 
    }