I know this already been covered in another question: here. but for some reason, I do something wrong.
I'm having trouble with post request from server I need data of. here
If I write the following post request directly from the website's console (using ctrl+shift+i) it works great.
full = $.post('https://www.shufersal.co.il/_layouts/Shufersal_Pages/ajax.aspx',
{"AjaxCallAction":"AddProductToBasket","paramProductID":7296073231578,"paramQuantity":2,"paramRemarks":"","paramUM":""});
console.log(full.responseText); //required data
Here's a screenshot of the response I get from the server console: here.
But when I write this with the following script, I dont get the same result
const puppeteer = require('puppeteer');
async function run() {
let browser = await puppeteer.launch({ headless: false });
let page = await browser.newPage();
await page.setRequestInterception(true); //set the request option (triggered with goto)
page.on('request', req => {
//create data
let prodID = 7296073231578; //shoko
let qty = 2;
let remarks='';
let unitofmeasure = '';
var request = {
AjaxCallAction:"AddProductToBasket",
paramProductID:prodID,
paramQuantity:qty,
paramRemarks:remarks,
paramUM:unitofmeasure
}
var data = {
'method': 'POST',
'url': 'https://www.shufersal.co.il/_layouts/Shufersal_Pages/ajax.aspx', //just to make sure
'postData': JSON.stringify(request)
};
req.continue(data);
});
const response = await page.goto('https://www.shufersal.co.il/_layouts/Shufersal_Pages/ajax.aspx');
console.log(response.statusText());
console.log(response.responseText);
console.log('done');
}
run();
I get the following result in the cmd:
OK
undefined
done
Also, if I try to post request using "request" of nodejs: (using answered question here) but it doesn't seem to work either.