| Erfahrener Benutzer
Registriert seit: 12.05.2005
Beiträge: 1.038
PHP-Kenntnisse: Fortgeschritten
| Prototype Ajax Array Datenmüll Hallo, ich habe ein Problem undzwar versuche ich Via Prototype einen Request durchzuführen und als Parameter einen Array mitzugeben.
Funktioniert alles wunderbar, nur bekomme ich erstaunlich viel zurück:
aber nun ganz langsam, als erstes die Funktion an sich: Code: function phpl(classn,func,param)
{
new Ajax.Request(classn+'/'+func+'/', {
method:'post',
requestHeaders: {Accept: 'application/json'},
parameters: param,
onSuccess: function(transport){
foo = transport.responseText.evalJSON(true);
eval("Action"+classn+func+"(foo)");
debug("PHPL - Funktion Action"+classn+func+"(Objekt) onSuccess");
}
});
}
Aufgerufen wird wie folgt: Code: onload = function()
{
var arr = new Array();
arr[0]="Saab";
arr[1]="Volvo";
arr[2]="BMW";
arr[3]="Citroen";
phpl('Foo','Arr',arr);
}
und entgegengenommen: Code: function ActionFooArr(data)
{
alert(data[2]);
}
Funktionier soweit wunderbar, wenn ich mir phpseitig alles zurückschicken lasse, jedoch habe ich gemerkt, dass firebug mir ein wenig viel zurück sendet: Code: {"class":"Foo","function":"Arr","vars":"","0":"Saab","1":"Volvo","2":"BMW","3":"Citroen","each":"function
(iterator, context) {\n var index = 0;\n iterator = iterator.bind(context);\n try {\n
this._each(function (value) {iterator(value, index++);});\n } catch (e) {\n if (e != $break
) {\n throw e;\n }\n }\n return this;\n}","eachSlice":"function (number, iterator
, context) {\n iterator = iterator ? iterator.bind(context) : Prototype.K;\n var index = - number
, slices = [], array = this.toArray();\n while ((index += number) < array.length) {\n slices
.push(array.slice(index, index + number));\n }\n return slices.collect(iterator, context);\n}"
,"all":"function (iterator, context) {\n iterator = iterator ? iterator.bind(context) : Prototype
.K;\n var result = true;\n this.each(function (value, index) {result = result && !!iterator(value
, index);if (!result) {throw $break;}});\n return result;\n}","any":"function (iterator, context)
{\n iterator = iterator ? iterator.bind(context) : Prototype.K;\n var result = false;\n this
.each(function (value, index) {if (result = !!iterator(value, index)) {throw $break;}});\n return
result;\n}","collect":"function (iterator, context) {\n iterator = iterator ? iterator.bind(context
) : Prototype.K;\n var results = [];\n this.each(function (value, index) {results.push(iterator
(value, index));});\n return results;\n}","detect":"function (iterator, context) {\n iterator
= iterator.bind(context);\n var result;\n this.each(function (value, index) {if (iterator(value
, index)) {result = value;throw $break;}});\n return result;\n}","findAll":"function (iterator, context
) {\n iterator = iterator.bind(context);\n var results = [];\n this.each(function (value, index
) {if (iterator(value, index)) {results.push(value);}});\n return results;\n}","grep":"function (filter
, iterator, context) {\n iterator = iterator ? iterator.bind(context) : Prototype.K;\n var results
= [];\n if (Object.isString(filter)) {\n filter = new RegExp(filter);\n }\n this.each
(function (value, index) {if (filter.match(value)) {results.push(iterator(value, index));}});\n return
results;\n}","include":"function (object) {\n if (Object.isFunction(this.indexOf)) {\n if
(this.indexOf(object) != -1) {\n return true;\n }\n }\n var found = false;\n
this.each(function (value) {if (value == object) {found = true;throw $break;}});\n return found
;\n}","inGroupsOf":"function (number, fillWith) {\n fillWith = fillWith === undefined ? null : fillWith
;\n return this.eachSlice(number, function (slice) {while (slice.length < number) {slice.push(fillWith
);}return slice;});\n}","inject":"function (memo, iterator, context) {\n iterator = iterator.bind
(context);\n this.each(function (value, index) {memo = iterator(memo, value, index);});\n return
memo;\n}","invoke":"function (method) {\n var args = $A(arguments).slice(1);\n return this.map
(function (value) {return value[method].apply(value, args);});\n}","max":"function (iterator, context
) {\n iterator = iterator ? iterator.bind(context) : Prototype.K;\n var result;\n this.each
(function (value, index) {value = iterator(value, index);if (result == undefined || value >= result)
{result = value;}});\n return result;\n}","min":"function (iterator, context) {\n iterator = iterator
? iterator.bind(context) : Prototype.K;\n var result;\n this.each(function (value, index) {value
= iterator(value, index);if (result == undefined || value < result) {result = value;}});\n return
result;\n}","partition":"function (iterator, context) {\n iterator = iterator ? iterator.bind(context
) : Prototype.K;\n var trues = [], falses = [];\n this.each(function (value, index) {(iterator
(value, index) ? trues : falses).push(value);});\n return [trues, falses];\n}","pluck":"function
(property) {\n var results = [];\n this.each(function (value) {results.push(value[property]);}
);\n return results;\n}","reject":"function (iterator, context) {\n iterator = iterator.bind(context
);\n var results = [];\n this.each(function (value, index) {if (!iterator(value, index)) {results
.push(value);}});\n return results;\n}","sortBy":"function (iterator, context) {\n iterator = iterator
.bind(context);\n return this.map(function (value, index) {return {value:value, criteria:iterator
(value, index)};}).sort(function (left, right) {var a = left.criteria, b = right.criteria;return a <
b ? -1 : a > b ? 1 : 0;}).pluck(\\\"value\\\");\n}","toArray":"function () {\n return [].concat(this
);\n}","zip":"function () {\n var iterator = Prototype.K, args = $A(arguments);\n if (Object.isFunction
(args.last())) {\n iterator = args.pop();\n }\n var collections = [this].concat(args).map
($A);\n return this.map(function (value, index) {return iterator(collections.pluck(index));});\n}"
,"size":"function () {\n return this.length;\n}","inspect":"function () {\n return \\\"[\\\" +
this.map(Object.inspect).join(\\\", \\\") + \\\"]\\\";\n}","find":"function (iterator, context) {\n
iterator = iterator.bind(context);\n var result;\n this.each(function (value, index) {if (iterator
(value, index)) {result = value;throw $break;}});\n return result;\n}","select":"function (iterator
, context) {\n iterator = iterator.bind(context);\n var results = [];\n this.each(function
(value, index) {if (iterator(value, index)) {results.push(value);}});\n return results;\n}","member"
:"function (object) {\n if (Object.isFunction(this.indexOf)) {\n if (this.indexOf(object)
!= -1) {\n return true;\n }\n }\n var found = false;\n this.each(function
(value) {if (value == object) {found = true;throw $break;}});\n return found;\n}","entries":"function
() {\n return this.map();\n}","_reverse":"function reverse() {\n [native code]\n}","_each":"function
forEach() {\n [native code]\n}","clear":"function () {\n this.length = 0;\n return this;\n
}","first":"function () {\n return this[0];\n}","last":"function () {\n return this[this.length
- 1];\n}","compact":"function () {\n return this.select(function (value) {return value != null;}
);\n}","flatten":"function () {\n return this.inject([], function (array, value) {return array.concat
(Object.isArray(value) ? value.flatten() : [value]);});\n}","without":"function () {\n var values
= $A(arguments);\n return this.select(function (value) {return !values.include(value);});\n}","reduce"
:"function () {\n return this.length > 1 ? this : this[0];\n}","uniq":"function (sorted) {\n return
this.inject([], function (array, value, index) {if (0 == index || (sorted ? array.last() != value :
!array.include(value))) {array.push(value);}return array;});\n}","intersect":"function (array) {\n
return this.uniq().findAll(function (item) {return array.detect(function (value) {return item ===
value;});});\n}","clone":"function () {\n return [].concat(this);\n}","toJSON":"function () {\n
var results = [];\n this.each(function (object) {var value = Object.toJSON(object);if (value !
== undefined) {results.push(value);}});\n return \\\"[\\\" + results.join(\\\", \\\") + \\\"]\\\"
;\n}"}
was mache ich falsch ? oder ist dies ein prototype bug ? |