2009-12-17 4 views
0

J'ai créé une application .NET 2.0 en utilisant jQuery.jQuery et .NET 2.0

Cependant quand je déploie sur mon serveur doens't ont installé .NET 3.5 ne fonctionne pas.

Je ne reçois aucune erreur et je ne sais pas comment le déboguer.

J'utilise jquery-1.3.2.min.js.

Fonctionne parfaitement dans mon environnement de test et sur mon autre serveur avec 3.5 installé.

Une fois téléchargé sur le serveur de production avec 2.0, tous les rappels dans ASP.NET échouent.

<script type="text/javascript"> 
    $(document).ready(function() { 
     var item = $("[id$='txtItemName']"); 
     var category = $("[id$='ddlCategories']"); 
     var record = $("[id$='txtRecordID']"); 

     $("#btnSave").click(function() { 


      if (item.val().length == 0) { 
       alert("Please enter item name first."); 
       return false; 
      } 

      if (category.val().length == 0) { 
       alert("Please select a category."); 
       return false; 
      } 

      var paramArray = ["testText", escape(item.val()), "categoryID", category.val(), "recordID", 1]; 
      PageMethod("SaveMyData", paramArray, AjaxSucceeded, AjaxFailed); 

     }); 
    }); 

    function AjaxSucceeded (result) 
    {  
     alert("lykkedes" + result); 
    } 
    function AjaxFailed(result) 
    { 
     alert("failed" + result); 

    } 

    function PageMethod(fn, paramArray, successFn, errorFn) { 
     var pagePath = window.location.pathname; 
     //Create list of parameters in the form: 
     //{"paramName1":"paramValue1","paramName2":"paramValue2"} 
     var paramList = ''; 
     if (paramArray.length > 0) { 
      for (var i = 0; i < paramArray.length; i += 2) { 
       if (paramList.length > 0) paramList += ','; 
       paramList += '"' + paramArray[i] + '":"' + paramArray[i + 1] + '"'; 
      } 
     } 
     paramList = '{' + paramList + '}'; 
     //Call the page method 
     $.ajax({ 
      type: "POST", 
      url: "DataProcessor.aspx?" + fn + "=1", 
      contentType: "application/json; charset=utf-8", 
      data: paramList, 
      dataType: "json", 
      success: successFn, 
      error: errorFn 
     }) 
    ;} 
</script> 

Et la procédure DataProcessor ressemble à ceci:

public void SaveMyData() 
{ 
    System.IO.StreamReader sr = new System.IO.StreamReader(Request.InputStream); 
    string line = ""; 
    line = sr.ReadToEnd(); 
    JObject jo = JObject.Parse(line); 
    string temp = (string)jo["recordID"]; 
    Response.Write(temp); 
} 

J'entre le AjaxFailed (résultat) quand je l'essayer ....

Toute aide et suggestions sont beaucoup appriciated .. .

+1

Pourriez-vous fournir les erreurs que vous obtenez? – marcgg

+0

Je voudrais mais je ne sais pas comment obtenir des errorcodes .. le résultat est vide sur le retour .. –

Répondre

0

le problème peut être le sérialiseur JSON, votre serveur avec les extensions AJAX ASP.Net 2.0 installé?

+0

J'ai demandé à mon hébergeur s'il est installé .. Y at-il de toute façon autour de cela si ce n'est pas? –

+0

ASP.Net 2.0 Les extensions AJAX sont installées sur mon serveur, donc ça ne peut pas être ça .. –

0

Si vous ne pouvez pas déboguer, parce que c'est dans l'environnement de production, alors pouvez-vous insérer des diagnostics?

Etes-vous en train d'utiliser la fonction AjaxFailed ou pas du tout?

Une première suggestion serait d'écrire des déclarations d'alerte simple() à des intervalles de code pour voir si vous pouvez suivre ce qui est happenening. Vous souhaiterez peut-être consulter l'état httpresult et le httpresult responseText renvoyé par l'appel.

Du côté du serveur, vous pouvez écrire à certaines valeurs de fichiers journaux à des étapes spécifiques, à savoir la chaîne JSON. Répéterait également ce qui précède en ce qui concerne le sérialiseur. Essayez d'utiliser

using System.Web.Script.Serialization; 

JavaScriptSerializer jss = new JavaScriptSerializer(); 

MyCustomClass mcc = jss.Deserialize<MyCustomClass>(someJSONstring); 

string someOtherJSONString = jss.Serialize(mcc); 
1

Je ne suis pas fier de répondre à ma propre question ici, car il est vraiment une erreur noob j'ai fait ...

La DLL JSON j'ai utilisé était pas celui avec .NET 2.0 SUPPORT . J'ai en quelque sorte ignoré le fait et cela a fonctionné sur mon environnement de test avec 3.5 installé.

J'ai téléchargé la dernière version de la dll JSON.net et utilisé la DLL 2.0 et tout a fonctionné comme un charme.

Merci pour les contributions ici.