Wenn das Formular übergeben wird, rufe ich eine Funktion getPosts und durch eine Variable str übergeben. Ich möchte die von dieser Funktion zurückgegebenen Daten abrufen.Access-Array von einer Funktion zurückgegeben - javascript/jquery noob Moment
// when the form is submitted
$('form#getSome').submit(function(){
var str = $("form#getSome").serialize();
var something = getPosts(str);
* This is where I'd like to get the data returned from getPosts()
return false;
});
// get the data
function getPosts(str){
$.getJSON('http://myurl.com/json?'+str+'&callback=?',
function(data) {
arrPosts = new Array();
$.each(data.posts, function(i,posts){
// build array here
});
return arrPosts;
});
};
Ich habe viele Dinge ausprobiert, habe aber nur 'undefined' zurückgegeben. Ich habe versucht, console.log (etwas); console.log (getPosts).
Ich vermisse etwas sehr fundamentales hier. Jede Hilfe würde sehr geschätzt werden.
EDIT:
Was ich versuche eine einzige Funktion zu tun ist, erstellen, die Beiträge erhalten würde. Dann würden verschiedene Ereignisse diese Funktion aufrufen. Ich könnte dann diese Daten verwenden. So kann ein Ereignis ein Formular senden, ein anderes kann auf einen Link klicken, ein anderes faules/endloses Scrollen. Alle können dieselbe getPosts-Funktion verwenden.
Es gibt eine Menge der Analyse der Ergebnisse, die zu vielen Codezeilen führt. Ich habe nur versucht, einen Weg zu finden, diese Funktion wiederzuverwenden. Denkst du, dass das möglich wäre?
$('a.thisLink').click(function(){
getPosts();
get the return from getPosts() and do something with it
});
$('form.thisForm').submit(function(){
getPosts();
get the return from getPosts() and do something with it
});
function getPosts(){
get the posts and return an array
}
Ich denke, das ist auf dem richtigen Weg. Ich habe versucht, eine einzige Funktion zu erstellen, die Beiträge erhalten würde. Und dann würden verschiedene Ereignisse Beiträge erhalten. So kann ein Ereignis ein Formular senden, ein anderes kann auf einen Link klicken, ein anderes lässiges Scrollen. Alle können dieselbe getPosts-Funktion verwenden.Es wird viel analysiert, was zu vielen Codezeilen führt. Ich habe nur versucht, einen Weg zu finden, das wiederzuverwenden. Denkst du, dass das möglich wäre? – jyoseph
Ja genau das ist, was ich suche, auf diese Weise kann ich die wiederverwendbare Callback-Funktion wiederverwenden. Letzte Frage, wie referenziere ich die Daten, die zurückgegeben werden (von wiederverwendbarenCallback-Funktion) innerhalb der Submit-Funktion? – jyoseph
@jyoseph: Schau meine zweite Bearbeitung ... – CMS