If you're using promises, do not call .end() or .pipe(). JakeTheSnake. It is used as a replacement for all approaches which are not working to make ajax calls. Either library is going to handle the event handling in a more consistent manner than onload, and of course is going to make it much easier to process the Ajax call. Looks like your IndexPartial action method has an argument which is a complex object. If you must use the body onload attribute, then you should just be able to call the same function as referenced in these examples (onload="javascript:functionName();"). Key Findings. Just found this on another post, maybe it will help. Approach 2: In this approach, we will use jQuery to make an ajax call. For each new JSONP request, the browser must add a new