2017-10-18 6 views
0

Jquery:Pourquoi navigateur convertir des guillemets simples pour doubler faire un appel AJAX

var val = "<!DOCTYPE html><html lang='en'><head><meta charset='utf-8'><meta http-equiv='X-UA-Compatible' content='IE=edge'><meta name='viewport' content='width=device-width, initial-scale=1'><title>test title</title><link href='http://fonts.googleapis.com/css?family=Roboto' rel='stylesheet' type='text/css'></head><body style='background:#e9e9e9;'>{other html content goes here}</body></html>"; 
var params = escape(val); 
$.ajax({ 
    type: 'POST', 
    contentType: 'application/x-www-form-urlencoded', 
    url: 'http://mylocalapilink/api/test', 
    dataType: 'json', 
    data: { 
     'sub': 'test', 
     'msg': params 
    }, 
    success: function (data) { 
     console.log(data); 
    }, 
    error: function() { 

    } 
}); 

Quand je lance ce qui précède, je reçois cette erreur console: Uncaught SyntaxError: Unexpected identifier

Quand je vérifie la source de l'erreur, Je vois cela (https://pasteboard.co/GPwutqg.png):

enter image description here

le but est de renvoyer à l'API Web l'ensemble HTML.

Comment puis-je faire le tour si possible. Merci.

+0

Voir quoi? Je ne vois pas d'images, est-il text.information dans l'image qui pourrait être copié dans la question pour faire en sorte que lorsque le lien d'image est cassé ou indisponible la question a encore un sens? Désolé – Nope

+0

a ajouté un lien: https://pasteboard.co/GPwutqg.png. Je ne savais pas que ça ne se présentait pas. Bizarre, je peux le voir. – Si8

+0

Mettre HTML à l'intérieur JavaScript peut être difficile parce que l'analyseur HTML ne sait rien à propos de JavaScript. À ce qu'il voit est ouvert et fermant les étiquettes. Vous pourriez avoir à casser le balisage dans la chaîne pour ne pas confondre l'analyseur HTML. –

Répondre

0

avez-vous essayé d'utiliser des personnages comme s'échappant "\"

var val = "<!DOCTYPE html><html lang=\"en\"><meta charset=\"utf-8\"http-equiv=\"X-UA-Compatible\" content=\"IE=edge\"></head><body style=\"background:#e9e9e9;\">{other html content goes here}</body></html>"; 
var params = escape(val); 
$.ajax({ 
    type: 'POST', 
    contentType: 'application/x-www-form-urlencoded', 
    url: 'http://mylocalapilink/api/test', 
    dataType: 'json', 
    data: { 
     'sub': 'test', 
     'msg': params 
    }, 
    success: function (data) { 
    console.log(data); 
    }, 
    error: function() { 

    } 
}); 
+0

Je reçois cette erreur maintenant: 'Uncaught SyntaxError: token' non valide ou inattendu – Si8

+0

Même si le code HTML dans une ligne, quand je vérifie la source comme indiqué ci-dessus, il est divisé en trois lignes distinctes dans la console ... aucune idée pourquoi – Si8