# 常见报错提醒
代码端的报错提醒名称,更好的可以定位找到问题原因
错误原因 | 页面报错码 | 项目报错代码 | 标题显示 |
---|---|---|---|
INVALID_PARAMETER | 400 | 4000 | Invalid parameter |
PLUGIN_NOT_INSTALLED | 400 | 4001 | Plugin not installed |
PLUGIN_ID_NOT_GIVEN | 400 | 4002 | Missing plugin id |
DATASOURCE_NOT_GIVEN | 400 | 4003 | Missing datasource |
PAGE_ID_NOT_GIVEN | 400 | 4004 | Missing page id |
DUPLICATE_KEY_USER_ERROR | 400 | 4005 | Name already used |
PAGE_DOESNT_BELONG_TO_USER_WORKSPACE | 400 | 4006 | Page doesn''t belong to this workspace |
UNSUPPORTED_OPERATION | 400 | 4007 | Unsupported operation |
DEPRECATED_API | 400 | 4008 | Deprecated API |
USER_DOESNT_BELONG_ANY_WORKSPACE | 400 | 4009 | User doesn''t belong to any workspace |
USER_DOESNT_BELONG_TO_WORKSPACE | 400 | 4010 | User doesn''t belong to this workspace |
NO_CONFIGURATION_FOUND_IN_DATASOURCE | 400 | 4011 | Datasource configuration is invalid |
INVALID_ACTION_COLLECTION | 400 | 4038 | Collection configuration is invalid |
INVALID_ACTION | 400 | 4012 | Action configuration is invalid |
INVALID_DATASOURCE | 400 | 4013 | Datasource configuration is invalid |
INVALID_DATASOURCE_CONFIGURATION | 400 | 4015 | Datasource configuration is invalid |
INVALID_ACTION_NAME | 400 | 4014 | Invalid action name |
NO_CONFIGURATION_FOUND_IN_ACTION | 400 | 4016 | No configurations found in this action |
NAME_CLASH_NOT_ALLOWED_IN_REFACTOR | 400 | 4017 | Name already taken |
PAGE_DOESNT_BELONG_TO_APPLICATION | 400 | 4018 | Page doesn''t belong to this application |
INVALID_DYNAMIC_BINDING_REFERENCE | 400 | 4022 | Invalid dynamic binding reference |
USER_ALREADY_EXISTS_IN_WORKSPACE | 400 | 4021 | User already exists in this workspace |
UNAUTHORIZED_DOMAIN | 401 | 4019 | Invalid or unauthorized email domain |
USER_NOT_SIGNED_IN | 401 | 4020 | User not signed in |
INVALID_PASSWORD_RESET | 400 | 4020 | Invalid password reset request |
INVALID_PASSWORD_LENGTH | 400 | 4037 | Invalid password length |
JSON_PROCESSING_ERROR | 400 | 4022 | Json processing error |
INVALID_CREDENTIALS | 200 | 4023 | Invalid credentials |
UNAUTHORIZED_ACCESS | 403 | 4025 | Unauthorized access |
DUPLICATE_KEY | 409 | 4024 | Duplicate key |
USER_ALREADY_EXISTS_SIGNUP | 409 | 4025 | Account already exists with this email |
ACTION_IS_NOT_AUTHORIZED | 403 | 4026 | Permission denied |
NO_RESOURCE_FOUND | 404 | 4027 | No resource found |
USER_NOT_FOUND | 404 | 4027 | No user found |
ACL_NO_RESOURCE_FOUND | 404 | 4028 | No resource found or permission denied |
GENERIC_BAD_REQUEST | 400 | 4028 | Invalid request |
VALIDATION_FAILURE | 400 | 4028 | Validation failed |
INVALID_CURL_COMMAND | 400 | 4029 | Invalid cURL command |
INVALID_LOGIN_METHOD | 401 | 4030 | Invalid login method |
INVALID_GIT_CONFIGURATION | 400 | 4031 | Invalid Git configuration |
INVALID_GIT_SSH_CONFIGURATION | 400 | 4032 | SSH key not configured |
INVALID_GIT_REPO | 400 | 4033 | Invalid Git repository |
DEFAULT_RESOURCES_UNAVAILABLE | 400 | 4034 | Default resources not found |
GIT_MERGE_FAILED_REMOTE_CHANGES | 406 | 4036 | Git merge failed for remote changes |
GIT_MERGE_FAILED_LOCAL_CHANGES | 406 | 4037 | Git merge failed for local changes |
REMOVE_LAST_WORKSPACE_ADMIN_ERROR | 400 | 4038 | Last admin cannot be removed |
INVALID_CRUD_PAGE_REQUEST | 400 | 4039 | Invalid page generation request |
UNSUPPORTED_OPERATION_FOR_REMOTE_BRANCH | 400 | 4040 | Unsupported Operation |
ROLES_FROM_SAME_WORKSPACE | 400 | 4041 | Roles already exist |
INTERNAL_SERVER_ERROR | 500 | 5000 | Internal server error |
REPOSITORY_SAVE_FAILED | 500 | 5001 | Failed to save |
PLUGIN_INSTALLATION_FAILED_DOWNLOAD_ERROR | 500 | 5002 | Plugin installation failed |
PLUGIN_RUN_FAILED | 500 | 5003 | Plugin execution failed |
PLUGIN_EXECUTION_TIMEOUT | 504 | 5040 | Timeout in plugin execution |
PLUGIN_LOAD_FORM_JSON_FAIL | 500 | 5004 | Unable to load datasource form configuration |
PLUGIN_LOAD_TEMPLATES_FAIL | 500 | 5005 | Unable to load datasource templates |
IO_ERROR | 503 | 5003 | I/O error |
MARKETPLACE_TIMEOUT | 504 | 5041 | Datasource cannot be deleted |
WORKSPACE_ID_NOT_GIVEN | 400 | 4031 | Missing workspace id |
INVALID_CURL_METHOD | 400 | 4032 | Invalid method in cURL command |
OAUTH_NOT_AVAILABLE | 500 | 5006 | Unsupported login method |
MARKETPLACE_NOT_CONFIGURED | 500 | 5007 | Marketplace not configured |
PAYLOAD_TOO_LARGE | 413 | 4028 | Payload exceeds max allowed size |
SIGNUP_DISABLED | 403 | 4033 | Signup disabled |
FAIL_UPDATE_USER_IN_SESSION | 500 | 5008 | Unable to update user in session |
APPLICATION_FORKING_NOT_ALLOWED | 403 | 4034 | Forking application not permitted |
GOOGLE_RECAPTCHA_TIMEOUT | 504 | 5042 | Timeout in Google recaptcha verification |
GOOGLE_RECAPTCHA_FAILED | 401 | 4035 | Google recaptcha verification failed |
UNKNOWN_ACTION_RESULT_DATA_TYPE | 500 | 5009 | Unexpected data type |
INVALID_CURL_HEADER | 400 | 4036 | Invalid header in cURL command |
AUTHENTICATION_FAILURE | 500 | 5010 | Authentication |
INSTANCE_REGISTRATION_FAILURE | 500 | 5011 | Registration failed for this instance |
TOO_MANY_REQUESTS | 429 | 4039 | Too many requests |
INVALID_JS_ACTION | 400 | 4040 | Invalid action in JS object |
CYCLICAL_DEPENDENCY_ERROR | 400 | 4041 | Cyclical Dependency in Page Load Actions |
CLOUD_SERVICES_ERROR | 500 | 5012 | Error in cloud services |
GIT_APPLICATION_LIMIT_ERROR | 402 | 4043 | Maximum number of Git repo connection limit reached |
GIT_ACTION_FAILED | 400 | 4044 | Git failed |
GIT_FILE_SYSTEM_ERROR | 503 | 5013 | Git file system error |
GIT_EXECUTION_TIMEOUT | 504 | 5014 | Timeout in Git command execution |
INCOMPATIBLE_IMPORTED_JSON | 400 | 4045 | Incompatible Json file |
GIT_MERGE_CONFLICTS | 400 | 4046 | Merge conflicts found |
GIT_PULL_CONFLICTS | 400 | 4047 | Merge conflicts found during the pull operation |
SSH_KEY_GENERATION_ERROR | 500 | 5015 | Failed to generate SSH keys |
GIT_GENERIC_ERROR | 504 | 5016 | Git command execution error |
GIT_UPSTREAM_CHANGES | 400 | 4048 | Git push failed for pending upstream changes |
GENERIC_JSON_IMPORT_ERROR | 400 | 4049 | Unable to import application in workspace |
FILE_PART_DATA_BUFFER_ERROR | 500 | 5017 | Failed to upload file |
MIGRATION_ERROR | 500 | 5018 | Action already migrated |
INVALID_GIT_SSH_URL | 400 | 4050 | Invalid SSH URL |
REPOSITORY_NOT_FOUND | 404 | 4051 | Repository not found |
UNKNOWN_PLUGIN_REFERENCE | 400 | 4052 | Unknown |
ENV_FILE_NOT_FOUND | 500 | 5019 | Environment file not found |
PUBLIC_APP_NO_PERMISSION_GROUP | 500 | 5020 | Required permission missing for public access |
RTS_SERVER_ERROR | 500 | 5021 | RTS server error |
# REST API 错误
1、缺少URL
DEFAULT_REST_DATASOURCE is not correctly configured. Please fix the following and then re-run: \n[Missing URL.]
此消息表示API 编辑器表单中的 REST API 的 URL 字段已留空。 可以通过编辑REST API 表单并提供 URL来修复此错误。
2、缺少客户端密码/客户端 ID/访问令牌
DEFAULT_REST_DATASOURCE is not correctly configured. Please fix the following and then re-run: \n[Missing Client Secret, Missing Client ID, Missing Access Token URL]
此消息表示提到的参数字段 - //Client Secret已留空。这些字段嵌套在子部分中,如果该字段已被选为OAuth 2.0 ,则子部分将变得可见Client IDAccess Token URLAuthenticationAuthentication Type
3、需要密钥
Secret key is required when sending session details is switched on, and should be at least 32 characters in length.
此消息表示该Send Appsmith signature header字段已被标记为Yes但该Session Details Signature Key字段留空。
可以通过填写该字段或通过选择Session Details Signature Key禁用该字段来解决此错误。Send Appsmith signature headerNo
# JS错误
使用JS 对象或编写JS 函数时可能会遇到错误。它们可能是由代码中的语法错误、数据类型不匹配或尝试访问不存在的属性或函数引起的。
# 1、数据类型评估
当小部件属性中的值与属性所需的数据类型不匹配时,会发生此错误。
错误信息1:
example
This value does not evaluate to type Array[Object]
导致的原因:
例如在使用Lists时,您可能会遇到此错误,因为数据属性需要一个可能与API响应的数据类型不匹配的对象数组。
解决方案:
解决方案是在响应对象中绑定数组或使用 JavaScript 转换响应对象。下面以 fetch users API的响应为例。将其直接绑定到表会导致错误。
{
"next": "https://mock-api.appsmith.com/users?page=2&pageSize=10",
"previous": null,
"users": [
{
"id": 1,
"name": "Barty Crouch",
"status": "APPROVED",
"avatar": "https://robohash.org/sednecessitatibuset.png?size=100x100&set=set1",
"email": "barty.crouch@gmail.com",
},
{
"id": 2,
"name": "Jenelle Kibbys",
"status": "APPROVED",
"avatar": "https://robohash.org/quiaasperiorespariatur.bmp?size=100x100&set=set1",
"email": "jkibby1@hp.com",
}
]
}
为了克服这个问题,您可以使用 JavaScript 绑定用户的响应数组而不是整个响应对象:
{{ fetch_users.data.users }}
错误信息2:
example
This value does not evaluate to type Array[{label: string, value: string}]
导致的原因:
在向单选或多选下拉列表添加选项时,您可能会遇到数据不匹配错误。在这种情况下,请确保options属性是包含标签和值作为字符串的对象数组。
解决方案:
如果响应不包含如下所示的标签和值键,您可以映射响应以使用 JavaScript 对其进行转换。
// invalid response of fetchColors API
[
'Blue',
'Green',
'Red'
]
// Transform Response
{{
fetchColors.data.map((color) =>{
return {
label: color,
value: color
}
})
}}
错误信息3:
example
Value does not match ISO 8601 standard date string
导致的原因:
日期选择器需要标准ISO 格式的默认日期。如果您提供的日期与此不匹配,您将看到此错误。
解决方案:
要解决此问题,您可以使用 moment.js 转换日期字符串。
// Moment can be used to set the default date to the current date
{{moment()}}
// Moment can parse your date format
{{ moment("2021-07-26", "YYYY-MM-DD") }}
错误信息4:
example
This value does not evaluate to type `boolean
导致的原因:
此错误通常发生在isVisible和isDisabled属性中,表示属性中的值与类型不匹配boolean。
解决方案:
您可以使用比较运算符解决此问题。
{{ Dropdown1.selectedOptionValue === "RED" }}
错误信息5:
example
This value does not evaluate to type string
导致的原因:
使用小部件时,您可能会遇到错误,其中数据属性需要一个与查询响应的数据类型不匹配的字符串值。
解决方案:
该问题的解决方案是将 API 响应的数据类型转换为字符串。这可以使用 JavaScript 方法来完成。此外,确保传递给小部件的数据格式正确。例如:
To get text,
{{Text1.text}}
To get image,
{{Image1.image}}
如果前面的方法不起作用,您还可以检查 EVALUATED VALUE 部分以确保它返回的是字符串值而不是对象或其他数据类型。
错误信息6:
example
This value must be number
导致的原因:
您可能会遇到一个错误,其中数据属性需要一个与 API 响应的数据类型不匹配的数值。
解决方案:
确保传递给小部件的数据属性的数据与预期的数据类型相匹配很重要。此问题的一种解决方案是使用 JavaScript 将 API 响应转换为正确的数据类型,或者从 API 响应访问正确的数据类型。
您还可以检查 EVALUATED VALUE 部分以确保它返回的是数值而不是对象或其他数据类型。
# 2、语法错误
当 handlebars 中存在无效的 JavaScript 时,会发生此错误。在这种情况下,字段的评估值显示为未定义。验证代码中大括号的数量,并考虑将JS 重写为多行代码。 在下面的示例中,应用程序中的任何地方都没有定义 test
# 3、死循环错误
当函数或代码块无限重复时会发生无限循环错误,导致应用程序或函数变得无响应,甚至会阻止用户访问应用程序的某些功能。
导致的原因:
问题可能是由于页面加载函数卡在了循环中。如果您添加了使用该navigateTo函数并在 上执行的代码,就会发生这种情况onPageLoad,这可能会导致页面无法访问或导致应用程序陷入循环并不断路由到目标页面。
解决方案:
要解决此问题,您可以在 Pageplug 中使用调试器语句来停止代码的执行并确定无限循环的来源。以下是执行此操作的步骤:
在 Pageplug 中打开应用程序并转到发生死循环的页面。
找到导致无限循环的函数或代码块。
在暂停代码执行并允许您检查其状态的函数或代码块的开头插入调试器语句。有关详细信+ 息,请参阅调试语句及其使用方法。
使用浏览器的调试器控制台单步执行代码并确定无限循环的原因。
确定问题后,对代码进行必要的更改以修复它。
保存更改并再次测试应用程序以确保无限循环问题已得到解决。