Hi, thanks for the replies.  

Sander, I tried updating the code, but I'm still getting errors.  
Specifically, its throwing a 405 error.  This works with my jquery call, so 
I'm confused.  I've added an Offerings interface as well.  Here's the new 
call and the corresponding error:

  getClassOfferings ():  Observable<Offering[]> {
   //var host = location.protocol + "://" + location.host;
   var host = "http://bsdevtest2";;
   return this.http.post<Offering[]>(AJAX_URL, {"Function":
"GetClassOfferings", Host:host})
   .pipe(
     tap(Offering => this.log(`fetched class offerings`)),
     catchError(this.handleError('getClassOfferings', []))
   );
 }

Errors
zone.js:2935 OPTIONS 
http://packers-www.ghcscw.com/_layouts/15/ClassService/ajax.ashx 405 
(Method Not Allowed)
scheduleTask @ zone.js:2935
ZoneDelegate.scheduleTask @ zone.js:407
onScheduleTask @ zone.js:297
ZoneDelegate.scheduleTask @ zone.js:401
Zone.scheduleTask @ zone.js:232
Zone.scheduleMacroTask @ zone.js:255
scheduleMacroTaskWithCurrentZone @ zone.js:1092
(anonymous) @ zone.js:2967
proto.(anonymous function) @ zone.js:1372
(anonymous) @ http.js:2366
Observable._trySubscribe @ Observable.js:172
Observable.subscribe @ Observable.js:160
subscribeToResult @ subscribeToResult.js:23
MergeMapSubscriber._innerSub @ mergeMap.js:138
MergeMapSubscriber._tryNext @ mergeMap.js:135
MergeMapSubscriber._next @ mergeMap.js:118
Subscriber.next @ Subscriber.js:92
ScalarObservable._subscribe @ ScalarObservable.js:51
Observable._trySubscribe @ Observable.js:172
Observable.subscribe @ Observable.js:160
MergeMapOperator.call @ mergeMap.js:92
Observable.subscribe @ Observable.js:157
FilterOperator.call @ filter.js:61
Observable.subscribe @ Observable.js:157
MapOperator.call @ map.js:57
Observable.subscribe @ Observable.js:157
DoOperator.call @ tap.js:64
Observable.subscribe @ Observable.js:157
CatchOperator.call @ catchError.js:80
Observable.subscribe @ Observable.js:157
OfferingsComponent.getClassOfferings @ offerings.component.ts:25
OfferingsComponent.ngOnInit @ offerings.component.ts:20
checkAndUpdateDirectiveInline @ core.js:12365
checkAndUpdateNodeInline @ core.js:13889
checkAndUpdateNode @ core.js:13832
debugCheckAndUpdateNode @ core.js:14725
debugCheckDirectivesFn @ core.js:14666
(anonymous) @ OfferingsComponent_Host.ngfactory.js? [sm]:1
debugUpdateDirectives @ core.js:14651
checkAndUpdateView @ core.js:13798
callViewAction @ core.js:14149
execEmbeddedViewsAction @ core.js:14107
checkAndUpdateView @ core.js:13799
callViewAction @ core.js:14149
execComponentViewsAction @ core.js:14081
checkAndUpdateView @ core.js:13804
callWithDebugContext @ core.js:15052
debugCheckAndUpdateView @ core.js:14589
ViewRef_.detectChanges @ core.js:11573
(anonymous) @ core.js:5903
ApplicationRef.tick @ core.js:5903
(anonymous) @ core.js:5736
ZoneDelegate.invoke @ zone.js:388
onInvoke @ core.js:4745
ZoneDelegate.invoke @ zone.js:387
Zone.run @ zone.js:138
NgZone.run @ core.js:4562
next @ core.js:5736
schedulerFn @ core.js:4327
SafeSubscriber.__tryOrUnsub @ Subscriber.js:240
SafeSubscriber.next @ Subscriber.js:187
Subscriber._next @ Subscriber.js:128
Subscriber.next @ Subscriber.js:92
Subject.next @ Subject.js:56
EventEmitter.emit @ core.js:4307
checkStable @ core.js:4710
onHasTask @ core.js:4758
ZoneDelegate.hasTask @ zone.js:441
ZoneDelegate._updateTaskCount @ zone.js:461
Zone._updateTaskCount @ zone.js:285
Zone.runTask @ zone.js:205
drainMicroTaskQueue @ zone.js:595
Promise.then (async)
scheduleMicroTask @ zone.js:578
ZoneDelegate.scheduleTask @ zone.js:410
Zone.scheduleTask @ zone.js:232
Zone.scheduleMicroTask @ zone.js:252
scheduleResolveOrReject @ zone.js:856
ZoneAwarePromise.then @ zone.js:946
PlatformRef.bootstrapModule @ core.js:5564
(anonymous) @ main.ts:11
../../../../../src/main.ts @ main.bundle.js:134
__webpack_require__ @ inline.bundle.js:55
0 @ main.bundle.js:149
__webpack_require__ @ inline.bundle.js:55
webpackJsonpCallback @ inline.bundle.js:26
(anonymous) @ main.bundle.js:1
offerings:1 Failed to load 
http://packers-www.ghcscw.com/_layouts/15/ClassService/ajax.ashx: Response 
for preflight has invalid HTTP status code 405.
classOffering.service.ts:42 HttpErrorResponse {headers: HttpHeaders, 
status: 0, statusText: "Unknown Error", url: null, ok: false, …}error: 
ProgressEvent {isTrusted: true, lengthComputable: false, loaded: 0, total: 
0, type: "error", …}headers: HttpHeaders {normalizedNames: Map(0), 
lazyUpdate: null, headers: Map(0)}message: "Http failure response for 
(unknown url): 0 Unknown Error"name: "HttpErrorResponse"ok: falsestatus: 
0statusText: "Unknown Error"url: null__proto__: HttpResponseBase
(anonymous) @ classOffering.service.ts:42
CatchSubscriber.error @ catchError.js:105
DoSubscriber._error @ tap.js:96
Subscriber.error @ Subscriber.js:105
Subscriber._error @ Subscriber.js:131
Subscriber.error @ Subscriber.js:105
Subscriber._error @ Subscriber.js:131
Subscriber.error @ Subscriber.js:105
OuterSubscriber.notifyError @ OuterSubscriber.js:24
InnerSubscriber._error @ InnerSubscriber.js:28
Subscriber.error @ Subscriber.js:105
onError @ http.js:2302
ZoneDelegate.invokeTask @ zone.js:421
onInvokeTask @ core.js:4736
ZoneDelegate.invokeTask @ zone.js:420
Zone.runTask @ zone.js:188
ZoneTask.invokeTask @ zone.js:496
invokeTask @ zone.js:1517
globalZoneAwareCallback @ zone.js:1543
XMLHttpRequest.send (async)
scheduleTask @ zone.js:2935
ZoneDelegate.scheduleTask @ zone.js:407
onScheduleTask @ zone.js:297
ZoneDelegate.scheduleTask @ zone.js:401
Zone.scheduleTask @ zone.js:232
Zone.scheduleMacroTask @ zone.js:255
scheduleMacroTaskWithCurrentZone @ zone.js:1092
(anonymous) @ zone.js:2967
proto.(anonymous function) @ zone.js:1372
(anonymous) @ http.js:2366
Observable._trySubscribe @ Observable.js:172
Observable.subscribe @ Observable.js:160
subscribeToResult @ subscribeToResult.js:23
MergeMapSubscriber._innerSub @ mergeMap.js:138
MergeMapSubscriber._tryNext @ mergeMap.js:135
MergeMapSubscriber._next @ mergeMap.js:118
Subscriber.next @ Subscriber.js:92
ScalarObservable._subscribe @ ScalarObservable.js:51
Observable._trySubscribe @ Observable.js:172
Observable.subscribe @ Observable.js:160
MergeMapOperator.call @ mergeMap.js:92
Observable.subscribe @ Observable.js:157
FilterOperator.call @ filter.js:61
Observable.subscribe @ Observable.js:157
MapOperator.call @ map.js:57
Observable.subscribe @ Observable.js:157
DoOperator.call @ tap.js:64
Observable.subscribe @ Observable.js:157
CatchOperator.call @ catchError.js:80
Observable.subscribe @ Observable.js:157
OfferingsComponent.getClassOfferings @ offerings.component.ts:25
OfferingsComponent.ngOnInit @ offerings.component.ts:20
checkAndUpdateDirectiveInline @ core.js:12365
checkAndUpdateNodeInline @ core.js:13889
checkAndUpdateNode @ core.js:13832
debugCheckAndUpdateNode @ core.js:14725
debugCheckDirectivesFn @ core.js:14666
(anonymous) @ OfferingsComponent_Host.ngfactory.js? [sm]:1
debugUpdateDirectives @ core.js:14651
checkAndUpdateView @ core.js:13798
callViewAction @ core.js:14149
execEmbeddedViewsAction @ core.js:14107
checkAndUpdateView @ core.js:13799
callViewAction @ core.js:14149
execComponentViewsAction @ core.js:14081
checkAndUpdateView @ core.js:13804
callWithDebugContext @ core.js:15052
debugCheckAndUpdateView @ core.js:14589
ViewRef_.detectChanges @ core.js:11573
(anonymous) @ core.js:5903
ApplicationRef.tick @ core.js:5903
(anonymous) @ core.js:5736
ZoneDelegate.invoke @ zone.js:388
onInvoke @ core.js:4745
ZoneDelegate.invoke @ zone.js:387
Zone.run @ zone.js:138
NgZone.run @ core.js:4562
next @ core.js:5736
schedulerFn @ core.js:4327
SafeSubscriber.__tryOrUnsub @ Subscriber.js:240
SafeSubscriber.next @ Subscriber.js:187
Subscriber._next @ Subscriber.js:128
Subscriber.next @ Subscriber.js:92
Subject.next @ Subject.js:56
EventEmitter.emit @ core.js:4307
checkStable @ core.js:4710
onHasTask @ core.js:4758
ZoneDelegate.hasTask @ zone.js:441
ZoneDelegate._updateTaskCount @ zone.js:461
Zone._updateTaskCount @ zone.js:285
Zone.runTask @ zone.js:205
drainMicroTaskQueue @ zone.js:595
Promise.then (async)
scheduleMicroTask @ zone.js:578
ZoneDelegate.scheduleTask @ zone.js:410
Zone.scheduleTask @ zone.js:232
Zone.scheduleMicroTask @ zone.js:252
scheduleResolveOrReject @ zone.js:856
ZoneAwarePromise.then @ zone.js:946
PlatformRef.bootstrapModule @ core.js:5564
(anonymous) @ main.ts:11
../../../../../src/main.ts @ main.bundle.js:134
__webpack_require__ @ inline.bundle.js:55
0 @ main.bundle.js:149
__webpack_require__ @ inline.bundle.js:55
webpackJsonpCallback @ inline.bundle.js:26
(anonymous) @ main.bundle.js:1



On Friday, February 16, 2018 at 4:48:13 PM UTC-6, James Niesen wrote:
>
> Hi 
> I'm learning the latest and greatest Angular using type script.  I have an 
> ajax request that works fine in jQuery.  I'm trying to convert this to a 
> post request.  Below are the two calls.  Does anyone see anything that I'm 
> doing wrong in the typescript or can help point me in the right direction?
>
> Thanks
>
> 1.  Working JQuery:
>
>     var url = "http://bsdevtest2/_layouts/15/GHC.WellnessClasses/ajax.ashx
> ";
>
>     $.ajax({
>
>         url: url,
>
>         data: {
>
>             Function: "GetClassOfferings",
>
>             Host: "http://bsdevtest2";
>
>         },
>
>         type: 'POST',
>
>         success: function (json) {
>
>             alert(json.Offerings.Host);
>
>         },
>
>         error: function (xhr, err) {
>
>
>         },
>
>         complete: function () {
>
>            
>
>         }
>
>     });
>
>
> 2. Attempt at Angular Service http post
>
>   getClassOfferings (): Observable <any> {
>    //var host = location.protocol + "://" + location.host;
>    var host = "http://bsdevtest2";;
>    var parameter = JSON.stringify({Function:"GetClassOfferings", Host:host
> });
>    return this.http.post(AJAX_URL, parameter)
>    .pipe(
>      tap(Offerings => this.log(`fetched class offerings`)),
>      catchError(this.handleError('getClassOfferings', []))
>    );
>  }
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Angular and AngularJS discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.

Reply via email to