我与通过jQuery AJAX提交到控制器的客户端形式的Node.js/Sails.js应用:Ajax表单得到错误的控制器的NodeJS调用的Jquery的getJSON
$(function() {
$("form").submit(function (e) {
e.preventDefault();
var form = $(this);
$.ajax({
url: form.attr("action"),
type: "POST",
dataType: 'json',
data: form.serialize(),
success: function(json){
alert("Data Returned: " + JSON.stringify(json));
},
error: function(xhr, status, error) {
alert("error");
}
});
});
});
我控制器ArticleController.js
试图让从Flickr API信息:
**
* ArticleController.js
*
* @docs :: http://sailsjs.org/#!documentation/models
*/
module.exports = {
search: function (req, res) {
var searchImg = req.param("search");
var flickerAPI = "http://api.flickr.com/services/feeds/photos_public.gne?jsoncallback=?";
$.getJSON(flickerAPI, {
tags: "mount rainier",
tagmode: "any",
format: "json"
})
.done(function(data) {
return res.send(data);
});
}
};
但我得到这个错误:
POST http://localhost:1337/Article/search 500 (Internal Server Error) jquery-1.10.2.js:8706
send jquery-1.10.2.js:8706
jQuery.extend.ajax jquery-1.10.2.js:8136
(anonymous function) main.js:7
jQuery.event.dispatch jquery-1.10.2.js:5095
elemData.handle
凑rse我测试了我的控制器没有getJSON调用,它工作正常,返回简单的字符串或JSON值。
当然,现在看来很明显,我并不清醒:D我会尝试这两种解决方案,要求看起来不错,但我也对降压很感兴趣。谢谢! – migswd 2014-09-02 14:06:55