otnieldocs
otnieldocs

Reputation: 325

sendAJAX data parameter in CasperJs

again, I got another problem with casperjs, now with sendAJAX function.

It says that sendAJAX has 5 parameters which are these followings :

So, it says the data method is object so, it should be filled with :

var data = new Object();
data.amount= 15;

and also with this one,

var data = {amount:15};

but there were no successful value send to my web service (always send 0 as value, but ajax request successful, even returning the json data) which has an url like this

"http://localhost:9000/TempCountryAmountREST/setCountryAmount"

It will be succeed if I direct bind my data variable to my url like this :

"http://localhost:9000/TempCountryAmountREST/setCountryAmount?amount="+amount

[UPDATE] The TempCountryAmountREST is my controller name and setCountryAmount is my function inside my controller.

[UPDATE] I forgot to include my usage of sendAJAX(), here is the code that I use :

return JSON.parse(__utils__.sendAJAX(wsurl, "POST" , data, false, { contentType: "application/json" }));

So how does I fill the data in the sendAJAX parameter?

Thanks in advance...

Upvotes: 1

Views: 2257

Answers (1)

otnieldocs
otnieldocs

Reputation: 325

Sorry, I've found what the answer is.

I make some mistakes in contentType which I was set with contentType: "application/json" instead of contentType: "application/x-www-form-urlencoded" }

If we are looking about how ajax send the content from method send(), they were use x-www-form-urlencoded. See this for more detail

When we see through casperjs clientutils.js script, we should found how sendAJAX work. On the `this.sendAJAX = function sendAJAX(url, method, data, async, settings) { }

there are url construction logic which transformed our Object (if so) to x-www-form-urlencoded form. So that we need to set our contentType as application/x-www-form-urlencoded

Very well, thanks for your attention...

Upvotes: 1

Related Questions