【发布时间】:2021-07-01 08:10:23
【问题描述】:
我尝试在 JS 中向数据库 soql 写一些东西,但它不起作用。 当我单击“添加到购物车”按钮时,它被称为 handlePlaceOrder()。 这里称为 Apex 方法 placeOrder('hello'),参数为 String。 然后它崩溃了“内部服务器错误”。 当我在开发者控制台中仅执行 Apex 方法 placeOrder('Order01') 时,它可以工作,将 nameOfOrder 写入数据库。
代码如下:
html(正常):
<template>
<div class="shopping-cart">
<template if:true={messageFromMain}>
<div class="container">
<h1>Items in Cart</h1>
<lightning-card title="Shopping cart">
<lightning-button
class="slds-m-left_x-small"
label="Place order"
title="Place order"
variant="success"
onclick={handlePlaceOrder}>
</lightning-button>
</lightning-card>
</div>
</template>
<template if:false={messageFromMain}>
<h1>Select the shoes</h1>
</template>
</div>
</template>
JS(错误):
import { LightningElement, api, wire } from 'lwc';
import placeOrder from '@salesforce/apex/ProductMaster.placeOrder';
export default class ShoppingCart extends LightningElement {
nameOfOrder;
@api messageFromMain;
@wire(placeOrder, { nameOfOrder: '$nameOfOrder'})
// handle click to button Place order
handlePlaceOrder() {
console.log('It was pressed button \'Add to Cart\'.');
placeOrder('hello');
}
}
顶点(正常):
@AuraEnabled(cacheable=true)
public static void placeOrder(String nameOfOrder) {
Shop_Order__c newOrder = new Shop_Order__c(
Text__c = nameOfOrder
);
insert newOrder;
}
错误:
Error: An internal server error has occurred
Error ID: 185265246-97831 (-1502885840)
at U.B.mk (https://static.lightning.force.com/eu40/auraFW/javascript/Q8onN6EmJyGRC51_NSPc2A/aura_prod.js:656:438)
这段 JavaScript 代码有什么不正确的地方? Here 是一个有类似问题的例子。
【问题讨论】:
标签: salesforce apex soql lwc