(btw I documented the whole process here: http://asmalltalkbytheseaside.com/ )
2011/9/26 Bernat Romagosa <[email protected]> > Thanks guys! > > I read that Mozilla link, and it seems you just need to tell the server to > respond that the origin URL is allowed to send requests to the server. I > asked Janko how to do that and the following line was enough: > > response addHeaderName: 'Access-Control-Allow-Origin' value: ' > http://localhost:4000/'. > > Now Amber can send data to Pharo and receive a valid response. > > Cheers, > > > 2011/9/23 Richard Durr <[email protected]> > >> Likely the problem, see: >> http://meteatamel.wordpress.com/2011/02/11/access-control-allow-origin/ >> and from there on: https://developer.mozilla.org/En/HTTP_Access_Control >> >> >> On Fri, Sep 23, 2011 at 11:40 PM, Richard Durr < >> [email protected]> wrote: >> >>> Maybe the Access-Control-Allow-Origin blocks because of the different >>> ports? >>> >>> On Fri, Sep 23, 2011 at 5:56 PM, Bernat Romagosa < >>> [email protected]> wrote: >>> >>>> Ok, so I've just learnt I should be doing: >>>> >>>> answerTo: aRequest >>>> | response | >>>> aRequest postDataKeys do: [:eachKey | Transcript show: (aRequest >>>> postDataAt: eachKey) value]. >>>> response := HTTPResponse ok. >>>> ^response >>>> >>>> But then the client's javascript console shows: "XMLHttpRequest cannot >>>> load http://localhost:4001/amber/. Origin >>>> http://localhost:4000<http://localhost/>is not allowed by >>>> Access-Control-Allow-Origin. >>>> " >>>> >>>> Ideas? >>>> >>>> 2011/9/23 Bernat Romagosa <[email protected]> >>>> >>>>> Hi lists, >>>>> >>>>> I'm trying to get Amber and Pharo to talk to each other by using Ajax. >>>>> So far, using an Ajax wrapper that Laurent wrote, I managed to get Pharo >>>>> to >>>>> receive a message from Amber by doing: >>>>> >>>>> |ajax| >>>>> ajax := (Ajax url: 'http://localhost:4001/amber/'). >>>>> ajax options >>>>> at: 'type' put: 'POST'; >>>>> at: 'data' put: 'Hi Pharo!'; >>>>> at: 'timeout' put: 500. >>>>> ajax onSuccessDo: [console log: 'ok!']; >>>>> onErrorDo: [console log: 'not so ok...']. >>>>> ajax send >>>>> >>>>> This is captured by a Swazoo resource, that does the following: >>>>> >>>>> answerTo: aRequest >>>>> | response | >>>>> [aRequest postData stream anyDataReady] >>>>> whileTrue: >>>>> [Transcript show: aRequest postData stream next]. >>>>> >>>>> response := HTTPResponse ok. >>>>> response >>>>> contentType: 'text/plain'; >>>>> entity: 'Done!'. >>>>> ^response >>>>> >>>>> My intention here is just to read the message data and return an OK >>>>> response, but for some reason stream anyDataReady keeps evaluating to true >>>>> even when there's no more data to read, so the code underneath is never >>>>> executed. The Transcript shows 'Hi Pharo!' though, so I'm sure the request >>>>> is being received and read. >>>>> >>>>> Any light shed on this would be of great help... >>>>> >>>>> Thanks! >>>>> >>>>> -- >>>>> Bernat Romagosa. >>>>> >>>> >>>> >>>> >>>> -- >>>> Bernat Romagosa. >>>> >>> >>> >> > > > -- > Bernat Romagosa. > -- Bernat Romagosa.
