Ich versuche, Daten von einer iOS App an Node.js/Express zu senden. Ich kann es nicht zur Arbeit bringen; Node/Express scheint meine Anfrage nur zu ignorieren, wenn ich es von meiner App aus versuche. Wenn ich jedoch zu der gleichen URL navigiere, die ich in einem Web-Browser senden möchte, antwortet Node/Express.Node.js/Express ignoriert iOS JSON POST
Das ist mein Knoten/Express-Code ist, das die eingehende Anforderung verarbeitet:
var express = require('express');
var app = express.createServer();
app.configure(function(){
app.use(express.bodyParser());
});
app.get('/', function(req, res) {
res.write('nothing to see here...');
res.end();
});
app.get('/test', function(req, res) {
console.log('handling post!');
console.log(JSON.stringify(req.body));
res.end();
});
Und das ist, wie ich POST JSON bin versucht zu Knoten: früher
// Create request data.
NSString* jsonData = @"{\"test\" : \"someMoreTest\"}";
NSData* requestData = [jsonData dataUsingEncoding:NSUTF8StringEncoding];
// Create URL to POST jsonData to.
NSString* urlString = @"http://www.mysite.com/test";
NSURL* url = [NSURL URLWithString:urlString];
// Create request.
NSMutableURLRequest* request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody: requestData];
// Send request synchronously.
NSURLResponse* response = [[NSURLResponse alloc] init];
NSError* error = nil;
[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
// Check result.
if (error != nil)
{
NSLog(@"submitted request!");
}
else {
NSString* errorLogFormat = @"request failed, error: %@";
NSLog(errorLogFormat, error);
}
Wie ich bereits erwähnt, wenn ich http://www.mysite.com/test in meinem Browser, meine Konsole Ausgabe von Knoten navigieren ist die folgende:
handling post!
{}
Wenn ich jedoch versuche, aus meiner iOS-App zu posten, bekomme ich keine Konsolen-App - es ist fast so, als würde Node die eingehende POST-Anfrage nie sehen. Und noch verwirrender - ich kann keine Fehlerdaten auf der Seite der iOS-App erhalten - der Fehler ist nil
. Irgendwelche Ideen, was ich hier falsch mache?
Das war es sicherlich, ich kann nicht glauben, dass ich das übersehen habe. Ich wusste nichts über 'any()', obwohl - danke! –