Requête Ajax réussit, mais le résultat est vide

Je suis la construction d'une extension du navigateur Google Chrome qui utilise $.ajax demande pour envoyer des données à partir de pages web de mon serveur (actuellement hébergé à l'aide de localhost). Le content_script.js fichier est en cours d'exécution dans le cadre de pages web (plus sur le contenu des scripts) que l'extension a accès aux pistes de ce code:

//note: encode64String is assigned earlier in the script...

$.ajax({
type: "POST",
url: "http://localhost:8888/quartzsite/uploadendpoint.php",
type: "jsonp",
data: {img: encode64String},
contentType: "application/x-www-form-urlencoded;charset=UTF-8",
success: function(data){
    console.log("The ajax request succeeded!");
    console.log("The result is: ");
    console.log(data);
},
error: function(){
    console.log("The request failed");
}
});

Le problème est que le Ajax demande est réussie, mais le data argument qu'il renvoie est vide...

La console ressemble à ça après l'exécution du code:Requête Ajax réussit, mais le résultat est vide

Actuellement le contenu de la uploadedendpoint.php fichier sont les suivantes:

<?php
  header("Access-Control-Allow-Origin: *");
  echo 'This comes from php file'; die();
?>

<!DOCTYPE html>
<html>
<head>
    <title>Title of the document</title>
</head>

<body>
The content of the document......
</body>

</html>

Cela signifie qu'il devrait être au moins quelque chose d'être renvoyé dans le data variable.

J'ai en outre confirmé que la demande est de réussir parce que quand j'envoie la demande d'une fracture de l'url (c'est à dire uploaddddddendpoint.php) le code à l'intérieur de la $.ajax's error paramètre est exécutée.

J'ai lu sur des questions similaires comme jQuery $.ajax en réponse vide, mais seulement en Chrome mais en vain...

Mise à JOUR:

J'ai supprimé les invalides deuxième type: "jsonp" paramètre entièrement et ont ajouté dataType: "text/html". Je suis maintenant un échec ajax demande chaque fois que le code est exécuté.

Mise à JOUR: Étrangement changer dataType : "text/html" à dataType : "html" causes de la ajax demande pour réussir mais encore une fois avec un vide data variable.
Mise à JOUR: Lors de l'utilisation de la dev kit d'outils pour surveiller le Réseau XHR ce sont les envoyés et les messages de réponse:

Requête Ajax réussit, mais le résultat est vide
Requête Ajax réussit, mais le résultat est vide

En ce qui concerne le drapeau de la possible duplication de
Impossible de traverser le site ajax appels de l'api dans une extension chrome? Je penser le contraire! J'ai étudié la question et le problème ne semble PAS être le même.

Essayez ceci sur votre première ligne du fichier php: <?php echo 'This comes from php file'; die(); ?> - Vérifier si vous obtenez ce dans la console.
ce qui ne l'onglet Réseau? essayez de supprimer jsonp type.
pas de changement...
accédez au volet réseau de google chrome dev tools et voir ce que le script retourne
Re edit: La capture d'écran de la devtools suggère que votre problème n'est pas lié à JS/jQuery, mais causé par quelque chose à votre serveur. Dans ton bout de code PHP, vous avez défini un en-tête de réponse. Cependant, cet en-tête est absent dans votre capture d'écran. Aussi, Content-Length: 0 indique que la réponse du serveur est vraiment vide.

OriginalL'auteur Brannon | 2013-08-14