угловой 6: безсерверная контактная форма aws - PullRequest
0 голосов
/ 11 октября 2018

Я пытаюсь получить контактную форму на своей веб-странице с помощью AWS.Я следую инструкции: https://aws.amazon.com/blogs/architecture/create-dynamic-contact-forms-for-s3-static-websites-using-aws-lambda-amazon-api-gateway-and-amazon-ses/ Моя проблема заключается в добавлении jQuery на мою HTML-страницу.Я установил jQuery нормально, но я получаю сообщение об ошибке в коде после ajax.

Мой код заголовка html:

<head>

function submitToAPI(e) {
e.preventDefault();
var URL = "https://r9pphwnm07.execute-api.us-east-2.amazonaws.com/contact-me";

var Namere = /[A-Za-z]{1}[A-Za-z]/;
if (!Namere.test($("#name-input").val())) {
alert ("Name can not less than 2 char");
return;
}
var mobilere = /[0-9]{10}/;
if (!mobilere.test($("#phone-input").val())) {
alert ("Please enter valid mobile number");
return;
}
if ($("#email-input").val()=="") {
alert ("Please enter your email id");
return;
}

var reeamil = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,6})?$/;
if (!reeamil.test($("#email-input").val())) {
alert ("Please enter valid email address");
return;
}

var name = $("#name-input").val();
var phone = $("#phone-input").val();
var email = $("#email-input").val();
var desc = $("#description-input").val();
var data = {
name : name,
phone : phone,
email : email,
desc : desc
};

$.ajax({
type: "POST",
url : "https://abc1234.execute-api.us-east-1.amazonaws.com/01/contact",
dataType: "json",
crossDomain: "true",
contentType: "application/json; charset=utf-8",
data: JSON.stringify(data),


success: function () {
// clear form and show a success message
alert("Successfull");
document.getElementById("contact-form").reset();
location.reload();
},
error: function () {
// show an error message
alert("UnSuccessfull");
}});
}
</head>

Я получаю сообщение об ошибке:

Error: Template parse errors:
Unexpected character "EOF" (Do you have an unescaped "{" in your template? 
Use "{{ '{' }}") to escape it.) ("
</section>

<!/--third-->

</div>

[ERROR ->]"): ng:///AppModule/HomeComponent.html@253:0
Invalid ICU message. Missing '}'. ("
};



$.ajax([ERROR ->]{

type: "POST",

url : "https://abc1234.execute-api.us-east-1.amazonaws.com/01/contact",

"): ng:///AppModule/HomeComponent.html@39:11 compiler.js:1021
syntaxError
compiler.js:1021
./node_modules/@angular/compiler/fesm5/compiler.js
/DirectiveNormalizer.prototype._preparseLoadedTemplate
compiler.js:2439
./node_modules/@angular/compiler/fesm5/compiler.js
/DirectiveNormalizer.prototype._preParseTemplate/<
compiler.js:2431:61
then
compiler.js:1012:32
./node_modules/@angular/compiler/fesm5/compiler.js
/DirectiveNormalizer.prototype._preParseTemplate
compiler.js:2431
./node_modules/@angular/compiler/fesm5/compiler.js
/DirectiveNormalizer.prototype.normalizeTemplate
compiler.js:2417
./node_modules/@angular/compiler/fesm5/compiler.js
/CompileMetadataResolver.prototype.loadDirectiveMetadata
compiler.js:10330
./node_modules/@angular/compiler/fesm5/compiler.js
/JitCompiler.prototype._loadModules/</<
compiler.js:23883
forEach self-hosted:268:13 ./node_modules/@angular/compiler/fesm5
/compiler.js/JitCompiler.prototype._loadModules/<
compiler.js:23882
forEach self-hosted:268:13 ./node_modules/@angular/compiler/fesm5
/compiler.js/JitCompiler.prototype._loadModules
compiler.js:23879
./node_modules/@angular/compiler/fesm5/compiler.js
/JitCompiler.prototype._compileModuleAndComponents
compiler.js:23857
./node_modules/@angular/compiler/fesm5/compiler.js
/JitCompiler.prototype.compileModuleAsync
compiler.js:23817
./node_modules/@angular/platform-browser-dynamic/fesm5/platform-browser-
dynamic.js/CompilerImpl.prototype.compileModuleAsync
platform-browser-dynamic.js:143
./node_modules/@angular/core/fesm5/core.j
/PlatformRef.prototype.bootstrapModule
core.js:4344
./src/main.ts
main.ts:11
__webpack_require__
bootstrap:76
0
http://localhost:3900/main.js:649:18
__webpack_require__
bootstrap:76
checkDeferredModules
bootstrap:43
webpackJsonpCallback
bootstrap:30
<anonymous>
http://localhost:3900/main.js:1:2

Я не уверен, как это исправить

1 Ответ

0 голосов
/ 11 октября 2018

Вы должны рассмотреть возможность использования нового HttpClient в Angular 6, а не jQuery.

this.httpClient.post("https://abc1234.execute-api.us-east-1.amazonaws.com/01/contact",data)
    .subscribe(
        data => {
            console.log("Success ", data);
        },
        error => {
            console.log("Error", error);
        }
    );           

Вот дополнительная информация: https://www.techiediaries.com/angular-http-client/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...