10
votes

Cross Domain Posts sur ASP.NET MVC App

Je développe une application dans laquelle les morceaux HTML et JavaScript sont livrés à différents clients. Je suis capable d'obtenir les morceaux HTML / JavaScript en ajoutant ce qui suit au fichier de configuration Web: xxx

Ceci fonctionne bien pour faire obtenu. Le problème que je rencontre est de faire des postes croisés à l'aide de jQuery: xxx

J'aurai de nombreux clients consommant mon application (espérons-le). J'ai pensé à utiliser un proxy, mais je n'ai pas le contrôle des serveurs de clients, je ne suis donc pas capable d'installer un httphandler pour agir en tant que proxy.

Toute suggestion sur la manière dont je peux poster des données JSON de Différents clients cross Domaine à mon application ASP.NET MVC?


0 commentaires

5 Réponses :


6
votes

J'ai traité avec mon appel Ajax et il semble fonctionner (comparer à l'appel AJAX ci-dessus):

        $.ajax(
    {
        type: 'POST',
        url: url,
        crossDomain: true,
        data: data,
        dataType: 'json',
        success: function(responseData, textStatus, jqXHR) 
        {
            alert('success');
        },
        error: function (responseData, textStatus, errorThrown) 
        {
            alert('POST failed.');
        }
    });


1 commentaires

Un point à noter, que si le domaine d'envoi est https, le site de réception doit également être https.



0
votes

Vous avez deux options, dans le type de données, vous pouvez mettre du texte ou JSONP au lieu de JSON. Et si vous nous donnez et par exemple des données que vous envoyez cela, cela va être plus facile.

Cordialement


0 commentaires

1
votes

Lorsque vous avez spécifié la propriété CrossDomain à "True", la propriété DataType est définie comme JSONP. Vous aurez besoin d'un moyen de gérer ce JSONP cependant sur le côté MVC. Vous voudrez peut-être jeter un coup d'œil sur le message Stackoverflow suivant: ASP.NET MVC retourner JSONP


0 commentaires

2
votes

interne la réponse JSPH (le type par défaut pour les demandes croisées) est extraite en injectant une étiquette d'injection d'un