我使用此代码将POST发送到我的节点API以生成PDF,我的节点控制台给了我这些错误:
$('#renderPDF').click(function(){
var request = $.ajax({
type: "POST",
url: 'http://localhost:8080/api/v1/generate',
data: {doc:"<h1>test 123</h1>"},
});
request.done(function(data){
console.log(data);
});
});
info:TypeError:null不是对象(评估&#39; child.transform&#39;) info:info:phantomjs://code/shim.js:变换信息中的157:
phantomjs://code/shim.js:阅读中的138
当我发送POST(使用Postman工具)时,PDF会被渲染,一切正常。
localhost:8080/api/v1/generate?doc=<h1>testing 123</h1>
我的POST请求出错了什么?
答案 0 :(得分:0)
我认为您的问题是您将doc
参数作为POST参数发送,当它看起来像一个查询字符串时,请尝试:
$('#renderPDF').click(function(){
var request = $.ajax({
type: "POST",
url: 'http://localhost:8080/api/v1/generate?doc=<h1>testing 123</h1>',
});
request.done(function(data){
console.log(data);
});
});
希望它能解决你的问题。
编辑:有关此内容的更多信息。您可能正在发送请求(来自邮递员)作为POST请求,但发送的值实际上不是POST参数,它们是查询字符串(如果您愿意,则为“GET”参数)。
答案 1 :(得分:0)
您可能需要/可以使用formData
更轻松地实现这一目标e.g。
data = new FormData();
data.append( 'doc', "<h1>test 123</h1>" );
$.ajax({
url: 'http://localhost:8080/api/v1/generate',
data: data,
processData: false,
type: 'POST',
success: function ( data ) {
alert( data );
}
});