这真让人难以置信.我从ajax收到错误回调.但是,如果我从错误消息中获取res.responseText(返回正确,顺便说一句)并使用它,它就做对了.就好像我收到了成功回调一样.
数据设置如下:
var dataToSend = {fieldname : textdata};
Run Code Online (Sandbox Code Playgroud)
和ajax调用是这样的:
var ajaxOptions = {
url: '/newpage',
data: JSON.stringify(dataToSend),
contentType: 'application/json; charset=utf-8',
dataType: 'json',
cache: false,
processData: false,
type: 'POST',
success: function(res) {
console.log("success!");
$('#' + divname).html(res);
},
error: function(res) {
console.log("There was an error: " + JSON.stringify(res));
$('#' + divname).html(res.responseText);
}
};
$.ajax(ajaxOptions);
Run Code Online (Sandbox Code Playgroud)
错误消息是:出现错误:{"readyState":4,"responseText" [this part is perfectly fine], "status":200, "statusText":"OK"}.
我需要知道当前默认Android字体的大小(以像素为单位).我在这里复制了一个非常相似的问题中列出的方法.但是,我总是得到-1,而不是以像素为单位获得大小.我有什么想法我做错了吗?
这是代码:
Context context = getActivity();
TypedValue typedValue = new TypedValue();
context.getTheme().resolveAttribute(android.R.attr.textAppearance, typedValue, true);
int[] textSizeAttr = new int[] { android.R.attr.textSize };
TypedArray a = context.obtainStyledAttributes((AttributeSet) typedValue.string, textSizeAttr);
textSize = a.getDimensionPixelSize(0, -1);
Log.e("Metrics", "text size in dp = " + String.valueOf(textSize));
a.recycle()
Run Code Online (Sandbox Code Playgroud) 我使用以下格式上传图像文件:
var body = fs.createReadStream(tempPath).pipe(zlib.createGzip());
var s3obj = new AWS.S3({params: {Bucket: myBucket, Key: myKey}});
var params = {
Body: body,
ACL: 'public-read',
ContentType: 'image/png'
};
s3obj.upload(params, function(err, data) {
if (err) console.log("An error occurred with S3 fig upload: ", err);
console.log("Uploaded the image file at: ", data.Location);
});
Run Code Online (Sandbox Code Playgroud)
图像成功上传到我的S3存储桶(没有错误信息,我在S3控制台中看到它),但是当我尝试在我的网站上显示它时,它会返回一个损坏的img图标.当我使用S3控制台文件下载程序下载映像时,我无法打开文件被"损坏或损坏"的错误.
如果我使用S3控制台手动上传文件,我可以在我的网站上正确显示它,所以我很确定我的上传方式有问题.
出了什么问题?
我有一段令我困惑的代码.我在if/else语句中定义了一个整数数组,因为数组的长度取决于方法的2个输入的长度.我的问题是在if/else语句之外,变量定义似乎丢失了.
import java.util.Arrays;
public class test {
public String AddArrays(int [] arg1, int [] arg2) {
int L1 = arg1.length;
int L2 = arg2.length;
if (L1 > L2) {
int[] output = new int[L2];
for (int i = 0; i < L2; i++) {
output[i] = arg1[i] + arg2[i];
}
} else {
int[] output = new int[L1];
for (int i = 0; i < L2; i++) {
output[i] = arg1[i] + arg1[i];
}
}
String result = Arrays.toString(output);
return …Run Code Online (Sandbox Code Playgroud) 我想在程序化布局中使用我的dimens.xml文件中的一些预定义维度.
例如,在我的dimens.xml文件中,我有:
<dimen name="margin1">40dip</dimen>
<dimen name="margin2">40dip</dimen>
Run Code Online (Sandbox Code Playgroud)
然后在我的程序化textview中我有:
RelativeLayout.LayoutParams lpMargin = new RelativeLayout.LayoutParams( R.dimen.margin1, R.dimen.margin2);
Run Code Online (Sandbox Code Playgroud)
将布局参数应用于我的textview会产生巨大的视野.
我已经发现了这个问题.如果我打印出来:
Log.e("Metrics", "margin width = " + String.valueOf(R.dimen.margin1));
Run Code Online (Sandbox Code Playgroud)
......它具有巨大的价值:margin width = 2131034112.弄乱它的是单位,"沾".
所以我的问题是:如果没有以编程方式调用的单位来指定维度的正确方法是什么?如果那是不可能的,我可以改变R.dimen.margin1所以我可以将它用作编程布局参数吗?
编辑:不是单位弄乱它 - 它返回内部ID!(正如ianhanniballake在下面所说,我需要打电话getResources().getDimension(R.dimen.margin1)).
我通过调用本地文件(而不是 URL)在元素中使用 Javascript 替换背景图像。
如果该文件不存在,我想尝试捕获错误。
所以我尝试了以下代码:
try {
thing.style.backgroundImage = str;
}
catch (err) {
console.log(err.message);
thing.style.backgroundImage = "none";
}
Run Code Online (Sandbox Code Playgroud)
然而,即使是无意义的文件名似乎也可以通过,并且不会生成错误。更糟糕的是,有时显示的背景图像是空的,有时是上一次调用的图像。
有什么方法可以在这里尝试/捕获错误吗?