Ich habe meinen Code auf Phantomjs portiert und habe es schwer, $ .AJAX in JQuery zu verwenden. Ich denke, es ist etwas damit, wie meine Funktionen definiert sind, aber ich bin neu in JavaScript. Hier ist mein verkürzter Code: < /p>
var page = require('webpage').create();
console.log('required webpage');
page.onConsoleMessage = function(msg) {
console.log(msg);
};
console.log('added message event handler')
page.open('', function() {
console.log('page.opened \nnow in page context');
page.render('opened.png');
page.includeJs("https://ajax.googleapis.com/ajax/libs/j ... ery.min.js", function() {
page.evaluate(function() {
console.log('evaluating');
function getMessages() {
return new Promise((resolve, reject) => {
$.ajax({
url: 'https://www.example.com/myrequest.php',
type: 'POST',
data: {
mychar_id: 32,
offset: 0,
limit: 10
},
success: function(data) {
if (data.trim() === '') {
console.log("received null");
reject("Received null data");
} else {
resolve(data);
}
},
error: function(xhr, status, error) {
console.log('AJAX Error:', error);
reject(error);
}
});
});
}
getMessages().then(data => {
console.log(data);
}).catch(error => {console.error(error);});
console.log("extending jquery.");
// JQuery stuff goes here.
console.log('Final markup.')
console.log(document.body.innerHTML);
});
page.render('done.png')
console.log('exiting');
phantom.exit();
});
});
< /code>
Wenn ich dies jedoch mit Phantomjs ausführt, sehe ich nur einen leeren Cursor und der einzige Weg zum Beenden ist mit ^c. Ich habe alles ausprobiert, was ich mir vorstellen kann, um Funktionen zu bewegen usw., aber bisher kein Glück. Ich weiß, dass meine Funktion woanders funktioniert. Was kann ich tun?
Phantomjs gefroren am leeren Terminal, nachdem er versucht hat, $ .Ajax zu verwenden ⇐ Jquery
-
- Similar Topics
- Replies
- Views
- Last post